1

重複の可能性:
PHP の mail() 関数を使用してはいけないのはなぜですか?

mail()PHPでは、とてもシンプルなネイティブ関数を使ってメールを送信できれば、

  • 使用する正当な理由は何smtpですか?

注: 私はメール システムについて十分な知識がありません。whyしたがって、これら 2 つのシステムを使用する際の主な違いについて簡単に説明する必要があるかもしれません。

4

2 に答える 2

1

mail()はバックグラウンドでSMTPを使用しています。メールは配信されません。PHPを呼び出すmail()と、単純に電子メールがローカル システムの SMTP システム (sendmail、postfix、exim など) に渡されます。ハンドオフが完了すると、PHP は電子メール ゲームから解放されます。実際に配信プロセスを開始するかどうかは、SMTP システム次第です。

そうは言っても、mail() は手早くて汚い単純なメールに役立ちます。しかし、中程度に複雑なもの (複数の受信者、混合テキスト/html メール、添付ファイルなど...) は、mail() だけでは非常に面倒/複雑になりますが、PHPMailer や Swiftmailer などのより優れた smtp ライブラリを使用すると非常に簡単になります。

于 2012-10-12T05:36:46.340 に答える
1

PHP マニュアルのスニペット:

mail() 関数は、ループ内の大量の電子メールには適していないことに注意してください。この関数は、電子メールごとに SMTP ソケットを開いたり閉じたりするため、あまり効率的ではありません。

大量の電子メールの送信については、 » PEAR::Mail および » PEAR::Mail_Queue パッケージを参照してください。

これに、複雑さについて Marc B が言ったことを追加します (特に、マルチパートになる場合)。説明が得られたと思います。

于 2012-10-12T05:43:33.913 に答える