繁体   English   中英

在PHP上发送带有错误电子邮件的电子邮件

[英]Send email with false email on PHP

我最近安装了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”?

您无法发送带有错误电子邮件的电子邮件,因为Gmail会阻止来自其自己的其他域的邮件。 如果要与其他域发送电子邮件,则应使用其他SMTP服务器。 例如,如果您有邮件服务器,则可以使用OVH的SMTP。 否则,我认为Yahoo会让您发送电子邮件。

Gmail根本不允许您从地址中使用任意地址,即使是从gmail域中也是如此。 不过,您可以在Gmail设置中创建别名(允许从地址开始)。 如果您想通过gmail使用自己的域,则需要将gmail配置为您域的MX。 如果这样做,您将能够做您所要求的。

顺便说一句,PHPMailer文档中提到了这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM