0

PHP経由でメールを送信するためにswiftmailerを使用しています。ほとんどの場合、問題なく動作します。しかし、時々、私のメール メールが Spam-Folder に届くことがあります。

ここにメールを送信する私のコード

function sendMail2($from,$to,$subject,$body,$attachment=NULL) {
    require_once 'include_apth/swiftmailer/swift_required.php';

    $transport = Swift_MailTransport::newInstance();
    $mailer = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance($subject);
    $message->setFrom($from);
    $message->setTo($to);
    $message->setBody($body, 'text/html');

    if($attachment) {
        $message->attach(Swift_Attachment::fromPath($attachment));
    }

    if(@$mailer->send($message)) {
        return true;
    }
    else {
        return false;
    }
}

アイデアはありますか、なぜスパムフォルダーに時々着陸するのですか?

4

2 に答える 2

0

以下のコードを追加すると、完全に機能します

$headers =& $message->getHeaders();
$headers->addIdHeader('Message-ID', "b3eb7202-d2f1-11e4-b9d6-1681e6b88ec1@domain.com");
$headers->addTextHeader('MIME-Version', '1.0');
$headers->addTextHeader('X-Mailer', 'PHP v' . phpversion());
$headers->addParameterizedHeader('Content-type', 'text/html', ['charset' => 'utf-8']);

以下の質問から解決策を 得る

于 2016-11-18T22:00:52.390 に答える
0

メールの配信能力についても同じ問題がありました。正しい DNS 設定、ヘッダーなどをすべて取得するだけでは十分ではありません。

すべてではないにしても、ほとんどのクラウド ホスティングおよびホーム ISP の IP 範囲は、さまざまな IP リストに含まれており、そこから電子メールが送信されることが想定されていないため、スパムとしてマークされる可能性が高くなります。

これを解決する最も簡単な方法は、電子メールの送信元としてよく知られている専用サービスを使用することであり、企業は電子メール配信を適切に構成するために多大な労力を費やしています。

そのような有名な企業は数多くあり、その多くは、行儀がよく、スパムまたはバウンスとしてマークされていない適切な電子メールを送信する限り、大幅な無料利用枠を提供しています。たとえば、Amazon EC2 でホストされている場合、AWS/SES 経由で 1 か月あたり 60,000 通を超えるメールが配信されます。私自身のシステムでは、Mailgun の現在無料のアカウントがあり、1 か月あたり 10,000 件の電子メール送信の「制限」があります。

Swiftmailer の場合、たとえば、HTTP API を使用してメールをサービスに送信し、通常の方法で SMTP を介して送信できるプラグインが多数あり、配信性が大幅に向上します。

于 2016-11-18T22:21:25.960 に答える