6

私が間違っていることを教えてください。次のようなZend_Mailクラスを使用してメールを送信しています。

$message = <<<STR
You have a new invoice!

Sign in to your clientarea to see it.

Best regards,

Company name
STR;

$mail = new Zend_Mail();
$mail->setBodyText($message);
$mail->setFrom('billing@company.com', 'Company.com');
$mail->addTo('client@email.com', 'Client Name');
$mail->setSubject('You have a new invoice!');
$mail->send();

ただし、スパムとして受信されます。サーバー上にWebminなどの他のアプリケーションがあり、それらが送信する電子メールはスパムとして扱われません。

4

1 に答える 1

9

私はこれらの行を追加することでこれを解決しました:

$mail->setReplyTo('contact@company.com', 'Company');
$mail->addHeader('MIME-Version', '1.0');
$mail->addHeader('Content-Transfer-Encoding', '8bit');
$mail->addHeader('X-Mailer:', 'PHP/'.phpversion());

重要な行は、Reply-Toヘッダーを追加しているようです。それがなければ、それは常にスパムに行きます。Reply-Toヘッダーを設定すると、電子メールクライアントはそれをスパムとして扱うのをやめました。

于 2010-09-12T11:42:15.467 に答える