xaamp環境でphpでメールを外部に送信できるように設定。
smtpサーバはnifty。
smtpで認証が必要な設定。
●php.iniの設定
私の場合はC:xamppphpphp.ini
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25
smtp_port = 587
;25をコメントアウトして587を追加
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
sendmail_from = xyz0123@nifty.com
;送信元アドレスを追加
●Mercury/32の設定
XAMPP Control Panel Application
MercuryのAdminボタンをクリックするとソフト画面が起動
メニューバー >
Configuration >
Protocol modules > MercuryC SMTP relaying clientをチェックTP relaying client
Mercury SMTP Server > Generalタブ >GeneralのAlternate portに「587」
Connection controlタブのRelaying controlのDo not permit SMTP relaying of non-local mailのチェックを外す。
すべてのチェックが外れた状態になると思われる。
Mercury SMTP Relay Client Configuration >
SMTP”Smart” Host details >
Smart host name:smtp.nifty.com
Connection port/type:587
Credentials for SMTP Authentication,if required
Login username:xyz0123
Password:xxxxxxx
●メール送信phpファイル
<form action=”” method=”post”>
<input type=”submit” name=”Send” value=”送信”>
</form>
<?php
// 現在の言語を日本語に設定
mb_language(“ja”);
// 内部文字コードをUTF-8に設定
mb_internal_encoding(“UTF-8”);
if(isset($_POST[‘Register’])){
//宛先、題名、本文、送信メールアドレスの順
$re = mb_send_mail(“xxxxxxx@gmail.com”,”test”,”test”,”From:xyz0123@nifty.com”);
if ($re) {
print “送信完了!”;
} else {
print “送信失敗。”;
}
}
?>