サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
php でメールを送信してみます。
◆環境OS | Windows Vista Home Premium |
---|---|
PHP | 5.2.4 |
メール送信は mail関数で行います。
mailTest.php | ||
|
コマンドプロンプトから実行します。
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:"
header missing in mailTest.php on line 2
警告が出ました。
『php.iniに「sendmail_from」が設定されていない。もしくはカスタム「From:」ヘッダーが間違っている』という感じですね。 Fromを付けてみます。
mailTest2.php | ||
|
実行してみます。
Warning: mail(): Failed to connect to mailserver at "localhost"
port 25, verify your "SMTP" and "smtp_port" setting in php.ini
or use ini_set() in mailTest2.php on line 2
警告が出ました。
メールサーバーへの接続に失敗。 localhostのポート25に接続できなかったようです。 「SMTP」と「smtp_port」を php.ini、もしくはini_set()で設定するようにと言っているようです。
php.iniは環境によっては直接編集できない可能性があるので、ini_set()を使ってみます。
mailTest3.php | ||
|
実行してみます。
Warning: mail(): SMTP server response: 553 sorry, your envelope
sender domain must exist (#5.7.1) in mailTest4.php on line 4
「From: 」のアドレスを適当にしているのがまずいのかもしれないので正しいアドレスにして実行してみます。
Warning: mail(): SMTP server response: 451
See http://pobox.com/~djb/docs/smtplf.html.
in mailTest4.php on line 4
警告が出ました。 表示されているURLへアクセスしましたが、良く分かりませんでした。
調べると、文字コードが問題の可能性があるようでしたので UTF-8 にして再度実行してみます。 UTF-8への変換は、テキストエディタの「名前を付けて保存」で文字コードを指定して変換します。
「Unicodeサイン(BOM)」にデフォルトでチェックがついていたのでそのままにしました。
実行してみます。
・ソ
Warning: mail(): SMTP server response: 451
See http://pobox.com/~djb/docs/smtplf.html.
in mailTest-UTF-8.php on line 4
警告が出ました。 「Unicodeサイン(BOM)」のチェックをはずしてファイルを作り直し実行してみます。
Warning: mail(): SMTP server response: 451
See http://pobox.com/~djb/docs/smtplf.html.
in mailTest2-UTF-8.php on line 4
警告が出ました。 メール本文の改行を消してみます。
mailTest3.php | ||
|
実行してみます。
>
警告が出ませんでした。
早速、メーラーで受信してみます。
受信しました! 改行が悪かったのか?文字コードが悪かったのかはっきりしたいので、UTF-8にするまえのもののメール本文の改行をとってテストしたところ送信できました。
改行が悪かったようです。
2014/07/25追記
次の環境で実施したら、SMTPの認証の警告が出ました。
OS | Windows 7 Prodessional Service Pack 1 |
---|---|
PHP | PHP 5.5.0 (cli) (built: Jun 19 2013 15:50:56) |
SMTP serverが認証を要求してきたようです。
quired in mailTest4.php on line 8
Warning: mail(): SMTP server response: 530 5.7.0 Authentication require
d in mailTest4.php on line 8
Copyright (C) 2014 ymlib.com