来自电子邮件和回复到的PHP mail()添加服务器地址

时间:2018-10-04 14:47:10

标签: php email phpmailer

我目前有一个php脚本,用于使用sendmail从Ubuntu服务器发送电子邮件。

$to = $sendTo;
$subject = $subjectPrefix . $subject;
$txt = $message;
$headers = array(
  "From: ". $email,
  "Reply-To: ".$email,
  "Content-type:text/html;charset=UTF-8",
  "MIME-Version: 1.0",
  "X-Mailer: PHP/" . PHP_VERSION
);
$headers = implode("\r\n", $headers);

if(mail($to,$subject,$txt,$headers)){
  echo "sent";
}
else {
  echo "failed";
}

电子邮件可以正常发送,但始终会成为垃圾邮件,并在电子邮件上附加服务器地址,例如:"input@email.com"@ip-###-##-##-###.eu -west-2.compute.internal

我该如何将其设置为仅显示输入的电子邮件而不进入垃圾邮件?

2 个答案:

答案 0 :(得分:0)

您可以使用电子邮件域的SMTP服务器。例如,如果您想将来自Google Gmail服务的电子邮件用作From address,则必须使用Gmail SMTP服务器。

因此,您可以为SendMail添加SMTP电子邮件。如何做,您可以阅读here

此外,您可以安装SMTP客户端msmtp并配置PHP以使用它。说明here

最后,如果您不想配置服务器,则可以使用PHPMailer库。

答案 1 :(得分:0)

这是因为您用来发送电子邮件的邮件服务器不属于发件人的域,因此不是“受信任的”来源。