显示从host.myserver.com而不是mydomain.com的电子邮件

包括雅虎消息的标题结果。 你会看到是否有server.realcashback.com.au,但我需要它不是和从我的服务器,有什么办法让它发送为我的domain.com而不是服务器。 我想要从它发送的域不在同一台服务器上。

我正在使用PHP

From iNcard Thu Sep 15 20:25:29 2011 X-Apparently-To: [email protected] via 98.138.87.158; Thu, 15 Sep 2011 20:25:32 -0700 Return-Path: <[email protected]> Received-SPF: none (domain of incard.com.au does not designate permitted sender hosts) X-YMailISG: lo3RhWoWLDv_WHz3JN9HmYtpybG2PDVs8qfPdALeMm06q6Va 7_JLFvrtF3ZMrNnWTt.LFkzfH8epmIbIXDqmvgfBfiEV5bgtYB.7u4Ct17Dx gXTX0gNkH7_Ad9Im0fuFYp6bB1b8N4ymRJ86dFjEsCaEEwB7Q8_5cZzMZJW9 gZcRui_aVjfybJxiClzRlb8xgCsOsf1qYjJx5dF__GX9UcZqIhC9XOQgj8bf VEQKZMSuXGT8TAblfeAE0V39fQEPOOjBEMzYYMf7Mch8jjD.RlV4IOBVPZBF jNAthv0bCKIQICb7JBEVe03A9C33MzIYyY_DlGugFBdr9I3r19PZKutv2Lsd e7FkpZ6li8rd3Em5wN3blqWGP.pgtxnOAw4klakMQbxQ9MuRPcvLoVT_G1Ab .eLzBJnHwojtG3.nsCahq1mxq88GsG9ZeAqaN74Fn1Cs8zGKx2dIndp_8lPt CH_M4q5DXvjpQmCszDbICAKXJFX9VaQFsjjOMUVwJemDlGlSm.N0xUb78MX7 WFXZyht5tGLsuJcNR8qazP1DoHPt0Z4yKNE.SGOpCdV.aqyWaU3Z84rFodob aR0ZfXg411De2TyOw3G1d4OPIST_fNgVHslC1gaeGQc5jRQur37E.5J4cuYl PTKhZKh2WKjTACJaLauMzurW3da7f_46iurJLNm_kUfCbNUwjTjfcjfm7zcC CFYlgMQ.uwIyFEZ9wfTFMKhdktB1Pt6_OJZ2AMDgfVbkWsGhzSPpzGBW8wIN ObOPKdwaDDBgGHeBR2om9uTq1nL.O3KvX946mgYMhbcBdDQAXyiW.9I2882M 6a.0YjE12tfEzrmYAWCijJQw7uOlfuDYsBO2FOEYRzfgvnHB5hoTHJb3NHz5 3sIXnnIfAB6sbh7psVd9Hp.nE6bmaqQr4CubIWJanYv6.o5sxKBXVQEuHFTA 3s0AAP3FlW8Qpsj_i2SybgmHBvFx_.a0sM2Qh6p3d0D7zQZLIwzYS0nA6wRL GtM_krFeie2fRApV7s.GIxyn2vauuypWFzF.vKRaxLLfsYnLljcOYy9EXeQC ahCxNHg9lppRMZNvPyTFBpcj1mle32pZkWE5HQyxr_aNnz3a69RPoBnQNvi3 W4zl_CsWcBxqxSdA15i2Kkh0HDgO6THcfq1Vwaf89buHwqFo2RnRcumB1Q7W vRxBG9ci..an6iKSaPIGEvTOkwIhBbn17sL62hliHa6kVnnv5iIGdiPHZYxb BQh3oDtYkL8i.ICgkpQW4OCXj007fmizFgQvO1f1DYxAkbCbztbIHzzAv5Ae kQmxBYTDfOMUmfbU996gPH25NYiVuF1z_eY6CB0BFozwv7gnadJBfGhzi6H2 XndEqKkhYXmSQ1.ixvAn78xYt8eJwi0C3Y0CRt5qbM84S0M0dbI- X-Originating-IP: [173.199.158.72] Authentication-Results: mta1011.mail.ac4.yahoo.com from=host.realcashback.com.au; domainkeys=neutral (no sig); from=incard.com.au; dkim=neutral (no sig) Received: from 127.0.0.1 (EHLO host.realcashback.com.au) (173.199.158.72) by mta1011.mail.ac4.yahoo.com with SMTP; Thu, 15 Sep 2011 20:25:32 -0700 Received: from realcas by host.realcashback.com.au with local (Exim 4.69) (envelope-from <[email protected]>) id 1R4P3R-0006qu-DD for [email protected]; Thu, 15 Sep 2011 22:25:29 -0500 To: [email protected] Subject: iNcard Eftpos Lifestyle Guide X-PHP-Script: realcashback.com.au/system/classes/core.php for 61.88.97.122 From: iNcard <[email protected]> Reply-To: iNcard <[email protected]> Message-ID:< [email protected]> X-Mailer: PHP v5.2.17 MIME-Version: 1.0 Content-Type: text/html; boundary="75434adf143cb37a87b1e10e2f08ffd4" Sender: <[email protected]> Date: Thu, 15 Sep 2011 22:25:29 -0500 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - host.realcashback.com.au X-AntiAbuse: Original Domain - yahoo.com X-AntiAbuse: Originator/Caller UID/GID - [500 32002] / [47 12] X-AntiAbuse: Sender Address Domain - incard.com.au X-Source: /usr/bin/php X-Source-Args: /usr/bin/php /home/realcas/public_html/system/classes/core.php X-Source-Dir: realcashback.com.au:/public_html/system/classes Content-Length: 8054 

PHP代码

 public function sendemail($name, $whichemail, $emailaddress, $sender) { $this->whichemail = $whichemail; $getemail = mysql_query("SELECT * FROM sendemails WHERE id = '".$this->whichemail."'"); $row = mysql_fetch_array($getemail); // print $row["typeid"]; if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; } elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; } else { $eol="\n"; } $headers .= 'From: iNcard <'.$sender.'>'.$eol; $headers .= 'Reply-To: iNcard <'.$sender.'>'.$eol; $headers .= 'Return-Path: iNcard <'.$sender.'>'.$eol; // these two to set reply address $headers .= "Message-ID:<".$now." [email protected]>".$eol; $headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters # Boundry for marking the split & Multitype Headers $mime_boundary=md5(time()); $headers .= 'MIME-Version: 1.0'.$eol; $headers .= "Content-Type: text/html; boundary=\"".$mime_boundary."\"".$eol; $body = $row["html"]; $correct = array($name, $emailaddress, $sender, "{$this->whichemail}"); $wrong = array("[name]","[sendTo]", "[sendFrom]", "[whatemail]"); $newbody = str_replace($wrong, $correct, $body); mail($emailaddress, $row["subject"], $newbody, $headers,"[email protected]"); } 

某些邮件服务器将添加发件人:邮件头,如果From:邮件头不符合其对邮件发件人的理解。 如果你有控制你的网站的Eximconfiguration,我相信你应该能够closures这种行为。

如果您也不希望在“收件人:”标题中可见,那么您最有可能在发送电子邮件方面做出更大的改变。 一种可能性是将消息外包给第三方。 这取决于你想要这样做的原因,这也许是不能接受的。

顺便说一下,尝试设置返回path是没有意义的,因为这将在接收端设置为您的信封发送者。 也许有办法从PHP设置信封发件人(在这种情况下,我想你的发件人:问题也可能会消失)。

哦,也许我知道问题是什么,来自地址(incard.com.au)的域不匹配它从(host.realcashback.com.au)发送的服务器的名称

如果您试图说出的电子邮件地址与服务器名称不匹配,则您的电子邮件很可能会被标记为垃圾邮件,而某些客户端则会显示该电子邮件确实没有来自名为(incard.com.au )这是你的情况。

如果您拥有incard.com.au,那么您需要更改您的域名服务器,以将所有(或至less邮件)stream量指向(host.realcashback.com.au)所在的IP地址

如果你已经这样做了,那么你的php.ini中的邮件设置需要改变,以匹配incard.com.au地址

 SMTP = incard.com.au sendmail_from = [email protected]