Gmail使用原始“TO”地址代替“FROM”地址进行回复

时间:2012-10-31 14:41:59

标签: php codeigniter email gmail

使用CI's email library,我有以下代码将pw发送给用户:

$email_html_message         =   '<html><body>'.
                                        'Your password is '.$password.'<br>'.
                                        '<a href="'.  base_url().'">Login to MySite</a>'.
                                        '</body></html>';


        $config['charset']  =   'iso-8859-1';
        $config['mailtype'] =   'html';
        $this->email->initialize($config);

        $this->email->from('ray@MySite.com', 'MySite Admin');
        $this->email->to($user_email);
        $this->email->subject('Your MySite Login');
        $this->email->message($email_html_message);
        $this->email->send();

我在两个帐户上测试了此代码:Gmail和我的ISP的smtp电子邮件帐户。

两个测试都发了一封电子邮件,但问题出在这里:

如果我点击通过Gmail回复,则回复地址是电子邮件发送到的地址:

enter image description here

当我通过Windows Mail(例如我的smtp帐户)点击回复时,不会发生这种情况。

以下是包含gmail标题的“原始邮件”:

Delivered-To: ray023@gmail.com
Received: by 10.114.17.8 with SMTP id k8csp412473ldd;
        Wed, 31 Oct 2012 07:27:06 -0700 (PDT)
Received: by 10.220.142.79 with SMTP id p15mr18061226vcu.71.1351693626443;
        Wed, 31 Oct 2012 07:27:06 -0700 (PDT)
Return-Path: <bounce-cgi-moo.ray023@yourhostingaccount.com>
Received: from mailout12.yourhostingaccount.com (mailout12.yourhostingaccount.com. [65.254.253.98])
        by mx.google.com with ESMTP id p5si2963631vcv.55.2012.10.31.07.27.05;
        Wed, 31 Oct 2012 07:27:05 -0700 (PDT)
Received-SPF: pass (google.com: domain of bounce-cgi-moo.ray023@yourhostingaccount.com designates 65.254.253.98 as permitted sender) client-ip=65.254.253.98;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of bounce-cgi-moo.ray023@yourhostingaccount.com designates 65.254.253.98 as permitted sender) smtp.mail=bounce-cgi-moo.ray023@yourhostingaccount.com
Received: from mailscan13.yourhostingaccount.com ([10.1.15.13] helo=mailscan13.yourhostingaccount.com)
    by mailout12.yourhostingaccount.com with esmtp (Exim)
    id 1TTZG5-0005Lf-Dt
    for ray023@gmail.com; Wed, 31 Oct 2012 10:27:05 -0400
Received: from impout01.yourhostingaccount.com ([10.1.55.1] helo=impout01.yourhostingaccount.com)
    by mailscan13.yourhostingaccount.com with esmtp (Exim)
    id 1TTZG2-0007KY-GM
    for ray023@gmail.com; Wed, 31 Oct 2012 10:27:02 -0400
Received: from cgi1703.yourhostingaccount.com ([10.1.12.150])
    by impout01.yourhostingaccount.com with NO UCE
    id HqT21k00s3EEVBe01qT2XN; Wed, 31 Oct 2012 10:27:02 -0400
X-Authority-Analysis: v=2.0 cv=IICA+3TG c=1 sm=1 a=0bVzInp0yugA:10
 a=UT1nndvi2uwA:10 a=e1QP36Bl1McA:10 a=Gm7PUgscJ9MA:10 a=jPJDawAOAc8A:10
 a=mM4-eZ0ns8IA:10 a=PgEUWBzPAAAA:8 a=2RTERvT5bsMA:10 a=t2MNXjrCa7SdDSCJ3MYA:9
 a=wPNLvfGTeEIA:10 a=_W_S_7VecoQA:10 a=MvC2+Uy32Q89d9+Fzzoamg==:117
X-EN-OrigOutIP: 10.1.12.150
X-EN-IMPSID: HqT21k00s3EEVBe01qT2XN
Received: from moo.ray023 by cgi1703.yourhostingaccount.com with local (Exim)
    id 1TTZFR-0003Hw-20
    for ray023@gmail.com; Wed, 31 Oct 2012 10:26:25 -0400
X-EN-Info: U=moo.ray023 P=/index.php
X-EN-CGIUser: moo.ray023
X-EN-CGIPath: /index.php
X-EN-OrigIP: 173.191.128.136
To: ray023@gmail.com
Subject: =?iso-8859-1?Q?Your_MySite_Login?=
X-PHP-Originating-Script: 3651509:Email.php
User-Agent: CodeIgniter
Date: Wed, 31 Oct 2012 10:26:24 -0400
From: "MySite Admin" <ray@MySite.com>
Reply-To: "ray@MySite.com" <ray@MySite.com>
X-Sender: ray@MySite.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <5091351101295@MySite.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_50913511012dd"
X-EN-Timestamp: Wed, 31 Oct 2012 10:26:25 -0400
Sender:  "MySite Admin" <ray@MySite.com>

This is a multi-part message in MIME format.
Your email application may not support this format.

--B_ALT_50913511012dd
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Your password is Login to MySite


--B_ALT_50913511012dd
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body>Your password is <br><a href=3D"http://MySite.com/">Logi=
n to MySite</a></body></html>

--B_ALT_50913511012dd--

有关如何使用gmail解决此问题的想法吗?

1 个答案:

答案 0 :(得分:2)

在测试了雅虎邮箱帐户和单独的Gmail帐户(两者都是btw)之后,我发现问题仅限于我的gmail帐户。

稍微搜索一下后,我发现good question on SO指向了我to this article(特别说明以粗体显示):

  

我遇到了与发送的PHP联系表单相同的问题   邮寄到我的Gmail帐户。如果“发件人”地址与...相同   “收件人”地址或在GMail设置中配置为其中一个   “发送为...”帐户,Gmail回复“收件人”地址而不是   “回复”地址。一个简单的解决方法是指定非Gmail   “来自”地址。现在它可以工作,Gmail正确尊重   “回复”地址。毫无疑问,我认为这是一个   Gmail中的错误。

部分粗体是我的Gmail设置方式。