PHP が smtp サービスを使用してローカルに電子メールを送信する方法
Linux では状況ははるかに簡単です。Windows で PHP が SMTP サービスを使用してローカルに電子メールを送信する方法について説明します。
これには、php.ini 設定ファイルを変更する必要があり、追加の sendmail.exe サポートが必要です。 Windowsではphpのmail()関数が使用できないため、sendmailをインストールする必要があります。
1. http://glob.com.au/sendmail/
から sendmail.zip をダウンロードします。2. 任意のディレクトリに解凍します。たとえば、D:phpextrassendmail に置きます。パスが短く、スペースが含まれていないと、未知の問題が発生しやすくなります。
3. php.ini を設定し、smtp を検索して、
を変更します。[mail function] ; For Win32 only. SMTP = 你的邮箱提供的smtp服务 smtp_port = 25 ; For Win32 only. sendmail_from = 你的邮箱地址 ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "D:\PHP\extras\sendmail\sendmail.exe -t"
ここで SMTP を確認する必要があることに注意してください。私は NetEase のメールボックスを使用しています。特定のメールボックスの SMTP 構成を確認できます。
たとえば、NetEase の電子メール アドレス: http://help.163.com/09/1130/15/5PCLK6AI00753VBA.html?b12ene1
メールボックスで smtp サービスを開く必要がある場合もあります:
最後の文に注意してください。設定する必要があります:
sendmail_path = "D:\PHP\extras\sendmail\sendmail.exe -t"
4. 次に、sendmail.ini を開いて sendmail を設定します
その他は php.ini と非常によく似ています。主な紹介は次のとおりです:
auth_username= 你的邮箱地址 auth_password= 你的邮箱的密码
そして最後
; force the sender to always be the following email address ; this will only affect the "MAIL FROM" command, it won't modify ; the "From: " header of the message content force_sender= 你的邮箱地址
設定が完了したら、PHP に付属のメール機能を使用してテストできます。
mail($to, $subject, $message, $headers);