xaampのMercurを使ってphpで外部のサーバへメールを送信

公開日:

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 “送信失敗。”;
     }
}
?>

作成者: ひろしっち

プロのマジシャンやってます。 こちらは昔のブログから移行した記事とマジックとは関係ない記事などです。 マジック関連は以下をご覧ください。 ひろしつちや マジシャン出張、派遣マジックショー 記事の感想、コメント、質問などはTwitterにお願いします。 フォローも良かったらお願いします。 Instagram / YouTube / Facebook