これが可能であることはわかっていますが、リモート SMTP サーバーなどを使わなくてもできますか? 基本的にPHPでメールを送信したいのですが、mail()はありません
3 に答える
「リモートSMTPサーバーなし」で正確に何を意味するのかわかりません。メール配信では、少なくともそれらの1つが関与する必要があるためです-受信者のアカウントでメールを受信するもの...
おそらくできること (努力する価値があるかどうかはあなた次第です) は、PHP のソケット関数を使用して、ポート 25 でリモート メール サーバーとの接続を開くことです。SMTP telnet
SMTP セッションがどのように見えるか (実際には非常に単純です) の例については、Googleで検索SMTP codes
してください。次に、リモート サーバーが何を言っているのかについての詳細な説明については、Google で検索してください。
可能ですが、実際にメール サーバーとデータを交換するには、SMTP、POP3、および/または IMAP に精通している必要があるという事実を考慮すると、完全に簡単ではありません。
MTAの動作を模倣するようにアプリをコーディングする必要があります。つまり、 mail() 関数が行うことを実行し、ソケットを使用する場合です。Linux を使用している場合、もう 1 つのオプションは、sendmail への OS 呼び出しを行うことです。
mail() を使用しない場合は、PHPMailerを調べてください
私はすべての電子メール コードにこのライブラリを使用しています。コードのテスト中に送信メールを傍受できるように、デバッグ モードを使用できるように拡張しました。
私は間違っているかもしれませんが、SMTP サーバーが sendmail を備えた単なる Web サーバーであっても、常に SMTP サーバーを使用することになります。Windows で PHP を実行している場合は、IIS のビルトイン SMTP サービスを有効にする必要があります。