使用 Zend_mail 时,我的电子邮件似乎被视为垃圾邮件,通过 Outlook 发送而没有?
Posted
技术标签:
【中文标题】使用 Zend_mail 时,我的电子邮件似乎被视为垃圾邮件,通过 Outlook 发送而没有?【英文标题】:when using Zend_mail my emails seem to be treated as spam, send through outlook and there not? 【发布时间】:2010-11-19 18:08:58 【问题描述】:我正在尝试整理邮件列表系统的选择。我了解所需的基本原则和设计,但我遇到了将其作为垃圾邮件接收的问题。
如果我通过 email@domain.com 通过 Outlook 发送 html 电子邮件,它可以正常工作并且不会被视为垃圾邮件。当我使用 Zend_mail 对象发送它发送的邮件但在测试电子邮件帐户中被视为垃圾邮件时,我也在发送它。
这是我用来发送电子邮件的代码。
//send an email
$mail = new Zend_Mail();
$config = array('auth' => 'login','username' => 'email@domain.com','password' => 'mypassword');
$transport = new Zend_Mail_Transport_Smtp('mail.domain.com', $config);
$mail->setSubject($item->title);
$mail->setFrom("email@domain.com");
$mail->addTo($item->email, $item->forename);
//$mail->setBodyText($item->contentPlain);
$mail->setBodyHtml($item->contentHTML);
$mail->send($transport);
正如您所见,我使用 smtp 传输对象进行身份验证,但它似乎仍将其视为垃圾邮件。非常感谢任何有指针或提示的人!
被视为垃圾邮件的电子邮件的标题信息:
它似乎在我为人们托管的标题信息中包含几个客户端域名任何想法为什么会这样?我使用一个共享 IP 地址,上面有大约 10 个域
Received: (qmail 1436 invoked from network); 14 Aug 2009 16:02:10 +0100
Received: from clientdomain1.co.uk (HELO localhost) (91.192.***.196)
by clientdomain2.info with SMTP; 14 Aug 2009 16:02:10 +0100
Subject: Manchester 2 Day Seminar: Dealing with difficult people
From: events@domain.com
To: Andi <subscriber1@domain.com>
Date: Fri, 14 Aug 2009 15:02:10 +0000
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
MIME-Version: 1.0
【问题讨论】:
请张贴收到的两封邮件的标题。 完成 :) 反正检测为垃圾邮件的邮件,在 mo 时无法从机器上的 Outlook 发送电子邮件,干杯 【参考方案1】:“滚动您自己的邮件”通常被大型托管电子邮件系统视为垃圾邮件。当您使用付费服务发送大量电子邮件时,您需要为这些公司与主要电子邮件供应商达成的协议付费,以将它们列入白名单。
但是,您可以做的一件事是确保您发送的帐户存在并且电子邮件是从匹配的域发送的(例如,从 foo.com 的 smtp 服务器发送的@foo.com)。这对垃圾邮件过滤器来说是一个很大的危险信号。
【讨论】:
我上面的代码显示我使用了一个有效的电子邮件,并且我使用了 zend_mail 提供的身份验证方法。我知道为发送电子邮件的服务付费会更容易,但目前还不可能。即使我通过zend发送一封电子邮件,它也会将其视为垃圾邮件而不是通过outlook,即使我使用的是相同的设置?干杯【参考方案2】:比较您的电子邮件和来自 Outlook 的电子邮件。是否缺少任何标题?哪一个?它们看起来很重要吗?
【讨论】:
显着的区别在于,从 Outlook 发送的地址是来自 cable.ntl 等的地址,而不是我的服务器 ip,这显然不被视为垃圾邮件。有什么建议吗?【参考方案3】:试试这个去掉最后一个本地主机引用:
$protocol = new Zend_Mail_Protocol_Smtp('localhost');
$protocol->connect();
$protocol->helo('mail.yourserver.com'); //**DO THIS**
$transport->setConnection($protocol);
【讨论】:
今晚会试试这个并告诉你,我认为它只有本地主机,因为我正在发送到我自己的电子邮件地址 我试过了,它仍然显示本地主机。我还尝试将内容设置为 Outlook 电子邮件将其设置为不同的内容,但它似乎忽略了我设置的 mime 类型:S 稍后将发布更新的标题以上是关于使用 Zend_mail 时,我的电子邮件似乎被视为垃圾邮件,通过 Outlook 发送而没有?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Zend_Mail、sendmail 和 localhost 发送电子邮件?
Apple Mail 不显示使用 Zend_Mail 发送的 PDF