XAMPPの下にSMTPメールサービスを配置し、PHPのmail()関数がメールを送信できるようにする

1665 ワード

PHPのmail()メール関数は簡単だが,現在流行している検証機能付きSMTPサーバ(gmail,163,126など)を使用できないことも招いた.
XAMPPが提供するsendmailを構成することで、PHPのmail()関数が正常にメールを送信できるようになりました.以下、smtp.126.comを例に挙げます.
1.xampp/php/phpを見つける.iniファイル、[mail function]文ブロックを見つけ、以下のように変更します.
[mail function]
SMTP = smtp.126.com
smtp_port = 25
sendmail_from = [email protected]
sendmail_path = "\"  xampp    \xampp\sendmail\sendmail.exe\" -t"

2.xampp/sendmail/sendmailを見つけます.iniファイル、以下のように変更します.
[sendmail]
smtp_server = localhost
smtp_port = 25
default_domain = 126.com
auth_username =     @126.com
auth_password =     

force_sender = [email protected]

3.SSLサービスの構成(オプション)
gmail,163,126などはSSLでSMTPメールサーバに接続する必要があるため,xamppのsendmailプログラムではssl接続はサポートされていない.もしあなたが他のメールボックスを使っていて、SSLがSMTPに接続する必要がないならば、smtp.126.comを対応するSMTPサーバアドレスに変更すれば良い.
SSLエージェントソフトウェアをダウンロードしてインストールできます.ここで使用します.http://www.stunnel.org/
インストールに成功したら、stunnelの中のstunnelを開きます.confファイル、次のコードを見つけて、以下のように変更します.ここでは[126-smtp]ノードを追加しました.
;[gmail-smtp]
;client = yes
;accept = 127.0.0.1:25
;connect = smtp.gmail.com:465

[126-smtp]
client = yes
accept = 127.0.0.1:25
connect = smtp.126.com:465

4.PHP mail()関数をテストしましょう.ほほほ!
<?php
	$from_name = 'xxx';
	$from_email = '[email protected]';
	$headers = 'From: $from_name <$from_email>';
	$body = 'This is a test mail';
	$subject = 'Test email from php mail()';
	$to = '[email protected]';
	if (mail($to, $subject, $body, $headers)) {
		echo "success!";
	} else {
		echo "fail…";
	}
?>

5.君はもう成功した!