【问题标题】:Warning: mail(): SMTP server response: 550 Invalid syntax. Syntax should be MAIL FROM:&lt;mailbox@domain&gt;[crlf]警告:mail():SMTP 服务器响应:550 语法无效。语法应该是 MAIL FROM:<mailbox@domain>[crlf]
【发布时间】:2018-05-18 13:47:36
【问题描述】:

所以我有以下 php,我正在使用伪造的 sendmail 方法通过 WAMP 从 Windows 上的联系表单发送电子邮件。

$to='myemail@gmail.com';
$mail_subject='Contact Form: $name_first $name_last: $subject';
$mail_message='$message';
$headers='From: $contact_email'."\r\n".
          'Reply-To: $contact_email' . "\r\n" .
          'X-Mailer:PHP/'.phpversion();

mail($to,$mail_subject,$mail_message,$headers);

得到以下错误:

警告:mail():SMTP 服务器响应:550 语法无效。语法应该是 MAIL FROM:[crlf]

$contact_email 是通过网络表单中的 $_Post["contactEmail"] 检索的。我可以通过在 mail() 函数之前设置一个 echo 标记来确认它正在检索它。

我有点不知所措。我的标题几乎直接来自这里的 php 文档:http://php.net/manual/en/function.mail.php

$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

任何帮助将不胜感激。

【问题讨论】:

  • 您可以尝试使用实际的电子邮件 ID 代替 $contact_email。如果它不起作用,那么问题出在您的配置上,如果它起作用,则问题在 $contact_email
  • 它不适用于实际的电子邮件。我的配置需要改变什么?

标签: php email syntax-error sendmail response-headers


【解决方案1】:

电子邮件地址必须用尖括号括起来:

$headers = 'From: <$contact_email>'."\r\n".
          'Reply-To: <$contact_email>' . "\r\n" .
          'X-Mailer:PHP/'.phpversion();

【讨论】:

    猜你喜欢
    • 2012-04-16
    • 1970-01-01
    • 2014-03-30
    • 2014-03-14
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    相关资源
    最近更新 更多