4

我正在尝试整理邮件列表系统的选择。我了解所需的基本原则和设计,但我遇到了将其作为垃圾邮件接收的问题。

如果我通过 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
4

3 回答 3

3

“滚动您自己的邮件”通常被大型托管电子邮件系统视为垃圾邮件。当您使用付费服务发送大量电子邮件时,您需要为这些公司与主要电子邮件供应商达成的协议付费,以将它们列入白名单。

但是,您可以做的一件事是确保您发送的帐户存在并且电子邮件是从匹配的域发送的(例如,从 foo.com 的 smtp 服务器发送的@foo.com)。这是垃圾邮件过滤器的一大危险信号。

于 2009-08-14T18:59:56.637 回答
0

比较您的电子邮件和来自 Outlook 的电子邮件。是否缺少任何标题?哪一个?它们看起来很重要吗?

于 2009-08-15T13:26:59.193 回答
0

试试这个来摆脱最后一个本地主机引用:

$protocol = new Zend_Mail_Protocol_Smtp('localhost');
$protocol->connect();
$protocol->helo('mail.yourserver.com'); //**DO THIS**

$transport->setConnection($protocol);
于 2009-08-15T22:28:41.717 回答