mailが送信できない
mail($to, $subject, $message)
は成功の暁にtureをそうでなければfalse
を返す。
そうか、じゃあつかってみよう。
falseが帰っているではないか!
と俺は憤慨した。
そう、俺はmailの知識がない。
のちに、mail serverを建てる必要があることが分かる。
(必須ではない。phpはそもそもそれを期待しているらしい。もちろん他の方法もある、それがsendmailだ。)
php.iniでsmtpサーバーを指定したり、もし自分で建てたら、
localhostだし、プロバイダーのだったら、OCNだったり契約した時の資料引っ張り出しーの、設定するのだ。
俺はメールサーバーは建てない(面倒くさそう)なので
sendmailをつかってがんばろうと考えた。
俺はbiglobeで送信しようと以下の設定で試行した=>失敗
sendmail.iniに
[sendmail]
smtp_server=mail.biglobe.ne.jp
smtp_port=587
smtp_ssl=auto
default_domain=bma.biglobe.ne.jp
auth_username=xxxxxxx
auth_password=XXXXXXXXXX
pop3_server=mail.biglobe.ne.jp
pop3_username=xxxxxxx
pop3_password=XXXXXXXXXX
force_sender=abcdefg@bma.biglobe.ne.jp
hostname=localhost
authentification failed を50回くらい
pop3を入れたくらいで
password is incorrectを20回ほど見た。
そして、ふただびgmailにトライ。
# gmailとか
文法おかしいだろ、とか思い。そこは削除したくらいから
好転したんだろうか
logが惜しいところまで行っている。
starttlsを使わないとという、エラーか警告がでた。
まだ、遅れてない。
Set Up SendmailTop
After you’ve downloaded sendmail.zip and sendmail-SSL.zip, extract both zip files into same folder and place it somewhere (in my example, location is C:\Program Files\wamp\bin\sendmail). After that open sendmail.ini and change settings like this.
view sourceprint?
01.smtp_server=smtp.gmail.com
02.
03.smtp_port=587
04.
05.smtp_ssl=tls
06.
07.auth_username=(account addres that you created)
08.
09.auth_password=(password of that account)
Change php.iniTop
Open php.ini and find mail function section. There you'll comment lines that contain SMTP and smtp_port. Then you'll uncomment line that has sendmail_path and add path to sendmail.exe so you'll have something like this.
view sourceprint?
1.;SMTP = smtp.example.com
2.
3.;smtp_port = 25
4.
5.sendmail_path = "C:\Program Files\wamp\bin\sendmail\sendmail.exe"
ConclusionTop
This is a simple way to enable PHP's mail() function on Windows. I tested this method on Windows 7 but it should work also on XP and Vista. Thank you for reading.
そしたら
送れた!!感動
macユーザーはこちら
http://strange-storage-5084.blogspot.jp/2012/01/php.htmlはわかりやすい!