使用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回复,则回复地址是电子邮件发送到的地址:
当我通过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解决此问题的想法吗?
答案 0 :(得分:2)
在测试了雅虎邮箱帐户和单独的Gmail帐户(两者都是btw)之后,我发现问题仅限于我的gmail帐户。
稍微搜索一下后,我发现good question on SO指向了我to this article(特别说明以粗体显示):
我遇到了与发送的PHP联系表单相同的问题 邮寄到我的Gmail帐户。如果“发件人”地址与...相同 “收件人”地址或在GMail设置中配置为其中一个 “发送为...”帐户,Gmail回复“收件人”地址而不是 “回复”地址。一个简单的解决方法是指定非Gmail “来自”地址。现在它可以工作,Gmail正确尊重 “回复”地址。毫无疑问,我认为这是一个 Gmail中的错误。
部分粗体是我的Gmail设置方式。