0

次のようなラッパー クラスで SMTP で Zend_mail を使用しています。

//$_config has all required and valid attributes to send a mail successfully.
$tmpconfig = Array('auth' => 'login',
                    'username' => $this->_config->MAIL_LOGIN,
                    'password' => $this->_config->MAIL_PASSWORT);

$this->_transport = new Zend_Mail_Transport_Smtp($this->_config->MAIL_SMTP,$tmpconfig);
$this->_mail = new Zend_Mail();
$this->_mail->setFrom($this->_config->MAIL_ADDRESS, $this->_config->MAIL_SENDER_NAME);
...

//$_data has already all required and valid fields and values...

$this->_mail->setBodyText($this->_data['maildata']['BodyText'],'UTF-8','UTF-8');
$this->_mail->setSubject($this->_data['maildata']['Subject']);
$this->_mail->addTo($this->_data['maildata']['RecipientEmail'], $this->_data['maildata']['RecipientName']);

$this->_mail->send($this->_transport);

シナリオ 1: テスト アカウントを含むメールを、テスト システムのテスト メールアドレスにプロプライエタリ サーバーに送信しています。このメールが届きます。

シナリオ 2: 2 つのテスト システムを使用して、別のテスト アカウントを使用して、同じメールアドレスの別のプロプライエタリ サーバーにメールを送信しています。このメールはラットウェアとして拒否されます。すでにサーバー管理者と話しましたが、メールの生成が間違っているとのことでした。有効な EHLO グリーティングがありません: 「リモート ホストは HELO/EHLO グリーティングで私たちの名前を使用しました。」

zend_mail クラスの問題なのか、テスト システムの問題なのか、よくわかりません。

最初のテストシステム: PHP バージョン 5.3.2-1ubuntu4.14、Apache/2.2.14 (Ubuntu)

2 番目のテストシステム: PHP バージョン 5.3.1、Apache/2.2.14 (Unix) (Mac OS X 上の Apache)

4

1 に答える 1

0

2番目のメールサーバーの構成が厳しすぎるか、構成方法に問題があると思いますZend_MailZend_Mail私にとってはうまく機能し、Gmailや人気の共有ウェブホスティングサービスを含む複数のSMTPサーバーにメールを送信するために使用しています。

ポート25で送信している場合、多くのメールサーバーがメッセージをスパムとして扱う可能性が高いと思います。2番目のメールサーバーは代替ポートでの送信をサポートしていますか?一般的な代替手段は465または587です。また、SSLまたはTLSを介して送信しようとしましたか?これらは、メッセージが正当であることをサーバーに納得させるのにも役立つ場合があります。

于 2012-08-18T14:13:10.977 に答える