发送未经身份验证的SMTP电子邮件

时间:2018-08-20 11:20:32

标签: php email smtp phpmailer

我的Web主机不允许创建邮件帐户。但是他们为我提供了SMTP网关,并且说从数据中心发送邮件时不需要凭据。

$mail->isSMTP();
$mail->SMTPDebug    = 2;
$mail->Host         = GATEWAY_PROVIDED_BY_HOST
$mail->SMTPAuth     = false;
$mail->SMTPSecure   = false;
  

无效地址:(发件人):root @ localhost

似乎我需要添加一个发件人地址。但是,如果他们不允许创建邮件帐户,我应该在发件人地址中输入什么?

3 个答案:

答案 0 :(得分:0)

尝试使用“发件人”电子邮件地址的有效发件人。

更新: 您必须使用发件人地址,该地址是负责的邮件服务器(或白名单中的一个)。 普通的“ @ domain.tld”就足够了。 at前面的名称通常未经测试。

还可能:您只能将“发送到”负责邮件服务器的域,或者您必须进行身份验证。最好是与您的服务器提供商联系。

答案 1 :(得分:0)

您需要设置发件人地址:

$mail->setFrom('user@example.com', 'My Name');

这将设置出现在邮件标题中的“发件人”地址,但由于它会自动复制到{{1}中,因此它也将用作SMTP级别的MAIL FROM命令(错误的来源) } PHPMailer属性适用于此。这样可以避免回退到您获得的Sender地址。

您要禁用身份验证的其他事情是正确的。

答案 2 :(得分:-1)

创建一个Google帐户并使用它:

$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Username = "your@gmail.com";
$mail->Password = "*****";
$mail->SMTPSecure = "ssl";  
$mail->Host = "smtp.gmail.com";
$mail->Port = "465";
$mail->setFrom('your@gmail.com', 'Your Name');
$mail->addReplyTo('your@gmail.com', 'Your Name');