2016-11-11 86 views
1

有没有一种方法可以设置php的mail()函数使用的电子邮件地址,而不会被垃圾邮件过滤器捕获?设置php邮件使用的电子邮件

如果我不添加邮件头,那么邮件将从[email protected]发送出去,这不是最差的名字,因为大多数邮件服务只是缩短到Apache。但我希望这是noreply.mydomain.com如果我添加一个来自头部并放置其他任何东西,它似乎总是被垃圾邮件抓住,但如果只是保持默认状态,则不会。

我的设置是在Linux上的Amazon EC2微型

+0

ok我认为@John Conde的标记是重复的,他的链接确实匹配。我应该删除问题还是应该怎么做? –

回答

0

你也可以使用的PHPMailer类在https://github.com/PHPMailer/PHPMailer PHP 7。

它允许您使用邮件功能或透明地使用smtp服务器。它还处理基于HTML的电子邮件和附件,因此您不必编写自己的实现。

<?php 
require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

$mail->isSMTP();          // Set mailer to use SMTP 
$mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = '[email protected]';     // SMTP username 
$mail->Password = 'secret';       // SMTP password 
$mail->SMTPSecure = 'tls';       // Enable encryption, 'ssl' also accepted 

$mail->From = '[email protected]'; 
$mail->FromName = 'Mailer'; 
$mail->addAddress('[email protected]', 'Joe User');  // Add a recipient 
$mail->addAddress('[email protected]');    // Name is optional 
$mail->addReplyTo('[email protected]', 'Information'); 
$mail->addCC('[email protected]'); 
$mail->addBCC('[email protected]'); 

$mail->WordWrap = 50;         // Set word wrap to 50 characters 
$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments 
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name 
$mail->isHTML(true);         // Set email format to HTML 

$mail->Subject = 'Here is the subject'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
}