在PHP上发送包含虚假电子邮件的电子邮件

时间:2016-10-22 18:12:19

标签: php email phpmailer send

我最近安装了PHPMailer,因为没有它就无法发送。 现在我有另一个问题:我想发送一封带有发明的电子邮件,例如“no-reply@my-domain.com”。我似乎无法做到这一点。当我使用Sendmail发送时,它只是不会发送,如果我使用带有身份验证的SMTP,它会随我的电子邮件一起发送。

require "../PhpMailer/PHPMailerAutoload.php";
$mail = new PHPMailer;

$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "marcelo43@gmail.com";
$mail->Password = "My Password";
$mail->setFrom('no-reply@my-domain.com','MyDomain Admin');
$mail->addAddress('to@gmail.com','To');
$mail->Subject = "Test";
$mail->msgHTML('My message');
if(!$mail->send())
    echo 'Could not send email';
else
    echo 'Email succesfully sent';

这只是发送电子邮件至“to@gmail.com”,其中“MyDomain Admin”为名称,“marcelo43@gmail.com”为其电子邮件。 使用电子邮件“no-reply@my-domain.com”发送邮件需要做什么?

2 个答案:

答案 0 :(得分:0)

您无法使用虚假电子邮件发送电子邮件,因为Gmail会阻止来自其他域的邮件。 如果要与其他域发送电子邮件,则应使用其他SMTP服务器。例如,如果您有邮件服务器,则可以使用OVH中的SMTP。否则,雅虎会让你发给我发电子邮件。

答案 1 :(得分:0)

Gmail根本不允许您使用任意地址,甚至来自gmail域。但是,您可以在gmail设置中创建从地址允许的别名。如果您想通过gmail使用自己的域名,则需要将gmail配置为您域名的MX。如果你这样做,你就能做你所要求的。

BTW,PHPMailer文档中提到了这一点。