我正在使用邮件功能如下:
mail($emailto, $subject, $body, $headers);
mail('askme@mysite.com', $subject.' / '.$emailto, $body, $headers);
第一个是为最终用户准备的。第二份给我,用于记录。
有时最终用户会指定他们的电子邮件地址,有时是空白。
- 指定电子邮件地址后,最终用户实际上可以毫无问题地收到电子邮件
- 但是,无论哪种情况,都没有电子邮件发送到 askme@example.com - 我也检查了垃圾邮件文件夹。
在我的/mail/new 文件夹中,我看到许多创建的文件类似于以下内容。该错误不正确,因为 askme@mysite.com 是一个有效的电子邮件地址(使用 google 设置域)。
Return-path: <> Envelope-to: myuserid@myhostingprovider.com Delivery-date: Mon, 28 Jun 2010 12:37:28 -0400 Received: from mailnull by myhostingprovider.com with local (Exim 4.69) id UNIQUEIDZ-7x for myuserid@myhostingprovider.com; Mon, 28 Jun 2010 12:37:28 -0400 X-Failed-Recipients: askme@mysite.com Auto-Submitted: auto-replied From: Mail Delivery System <Mailer-Daemon@myhostingprovider.com> To: myuserid@myhostingprovider.com Subject: Mail delivery failed: returning message to sender Message-Id: <EUNIQUEIDZ-7x@myhostingprovider.com> Date: Mon, 28 Jun 2010 12:37:28 -0400 This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: askme@mysite.com No Such User Here ------ This is a copy of the message, including all the headers. ------ Return-path: <myuserid@myhostingprovider.com> Received: from nobody by myhostingprovider.com with local (Exim 4.69) (envelope-from <myuserid@myhostingprovider.com>) id UNIQUEIDV-6b for askme@mysite.com; Mon, 28 Jun 2010 12:37:28 -0400 To: askme@mysite.com Subject: mysite.com: SUBJECT / enduser@gmail.com X-PHP-Script: www.mysite.com/mysitescript.php for IPADDRESS MIME-Version: 1.0 Content-type: text/html; charset=UTF-8 From: mysite.com Service <askme@mysite.com> Message-Id: <EUNIQUEIDV-6b@myhostingprovider.com> Date: Mon, 28 Jun 2010 12:37:28 -0400
最佳答案
两件事:
在实际调用
mail
函数之前,您应该检查$emailto
是否为空。您不希望 PHP 尝试将邮件发送到空白地址。askme@mysite.com
未投递的问题可能是由于您的本地网站托管服务商 (mysite.com
) 试图将邮件投递到它认为是“本地”地址 - 因为它在同一个域中,而实际上该电子邮件存在于 Google Apps 中。您的邮件服务器(如 postfix 或 sendmail)应该有禁用此“快捷方式”的设置。
关于PHP 邮件功能不会将电子邮件发送到同一域中的有效帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3138140/