phpmailer:仅使用“回复”地址回复
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了phpmailer:仅使用“回复”地址回复,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2345字,纯文字阅读大概需要4分钟。
内容图文
![phpmailer:仅使用“回复”地址回复](/upload/InfoBanner/zyjiaocheng/710/dc1b6480aabe44d18f205e9a9d56a44c.jpg)
我在我的网站上使用phpmailer并帮助解决垃圾邮件问题我创建了一个邮箱来发送这些电子邮件(使用SMTP).
我已经将电子邮件设置为来自邮箱地址,然后我添加了一个回复地址,以便我希望回复的地址:
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tsl';
$mail->SMTPDebug = 1;
$mail->Host = EMAIL_HOST;
$mail->Port = EMAIL_PORT;
$mail->Username = EMAIL_USER;
$mail->Password = EMAIL_PASS;
$mail->SetFrom('mailbox@email.com', 'Mailbox name');
$mail->AddReplyTo('replyto@email.com', 'Reply to name');
$mail->AddAddress('user@email.com', 'User name);
电子邮件发送成功,似乎可以通过垃圾邮件过滤器,但是当我按回复时,它包括邮箱帐户和帐户回复.
这是什么意思发生?我只想按回复时出现回复地址.这甚至可能吗?
非常感谢您提供的任何帮助!
编辑:
查看电子邮件标题,似乎来自地址的内容将包含在回复字段中.我不知道为什么!
Date: Tue, 1 May 2012 11:16:25 +0100
To: User name <user@email.com>
From: Mailbox name <mailbox@email.com>
Reply-to: Mailbox name <mailbox@email.com>, Reply to name <replyto@email.com
Subject: Email subject
Message-ID: <54c530c0d1f3ff33fc87c4c41c2c9ffd@localhost>
X-Priority: 3
X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net)
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_54c530c0d1f3ff33fc87c4c41c2c9ffd"
--b1_54c530c0d1f3ff33fc87c4c41c2c9ffd
Content-Type: text/plain; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit
解决方法:
我找到了答案,这令人烦恼/令人沮丧!基本上,需要在起始地址之前添加对地址的回复:
$mail->AddReplyTo('replyto@email.com', 'Reply to name');
$mail->SetFrom('mailbox@email.com', 'Mailbox name');
更详细地查看phpmailer代码,这是违规行:
public function SetFrom($address, $name = '',$auto=1) {
$address = trim($address);
$name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
if (!self::ValidateAddress($address)) {
$this->SetError($this->Lang('invalid_address').': '. $address);
if ($this->exceptions) {
throw new phpmailerException($this->Lang('invalid_address').': '.$address);
}
echo $this->Lang('invalid_address').': '.$address;
return false;
}
$this->From = $address;
$this->FromName = $name;
if ($auto) {
if (empty($this->ReplyTo)) {
$this->AddAnAddress('ReplyTo', $address, $name);
}
if (empty($this->Sender)) {
$this->Sender = $address;
}
}
return true;
}
特别是这一行:
if (empty($this->ReplyTo)) {
$this->AddAnAddress('ReplyTo', $address, $name);
}
谢谢大家的帮助!
内容总结
以上是互联网集市为您收集整理的phpmailer:仅使用“回复”地址回复全部内容,希望文章能够帮你解决phpmailer:仅使用“回复”地址回复所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。