我正在使用邮件功能,如下所示:
mail($emailto, $subject, $body, $headers);
mail('askme@mysite.com', $subject.' / '.$emailto, $body, $headers);
第一个是针对最终用户的。第二份副本供我保存以备记录。
Soometimes最终用户指定他们的电子邮件地址,其他时候是空白。
在我的/ mail / new文件夹中,我看到许多FILES创建类似于下面的内容。错误是错误的,因为askme@mysite.com是一个有效的电子邮件地址(使用谷歌设置域名)。
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
答案 0 :(得分:5)
两件事:
在实际调用$emailto
函数之前,您应该检查mail
是否为空。您不希望PHP尝试将邮件发送到空白地址。
askme@mysite.com
未送达的问题可能是由于您的本地网站托管服务商(mysite.com
)试图将邮件发送到其认为的“本地”地址而导致的问题 - 因为它已启用同一个域,实际上该电子邮件存在于Google Apps中。您的邮件服务器(如postfix或sendmail)应该有一个设置来禁用此“快捷方式”。
答案 1 :(得分:0)
您是否可以使用普通的电子邮件客户端(如hotmail / gmail或Outlook / Thunderbird等网站)向该地址发送电子邮件?
如果您不能 - 您的电子邮件帐户设置不正确。
如果可以 - 您的电子邮件帐户设置为忽略您的域名或类似内容(可能是垃圾邮件过滤器假装用户不存在?)。
答案 2 :(得分:0)
如果您使用 sendmail 转到配置文件并使用 MX记录指向 Google Apps ,请执行以下操作:
sudo vim /etc/mail/sendmail.mc
添加:
FEATURE(`relay_based_on_MX')dnl
重新开始发送邮件
sudo /etc/init.d/sendmail restart