アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHP初心者です。現在、自分のパソコンにXAMPPをインストールして、
Apacheを起動し、PHPのサンプルを勉強しいています。
mb_send_mail自体はTRUEで返ってくるのに、メーラーには何も届きません。
書籍やネットにあったサプルをいろいろ調べたのですが、
みな、同じ現象です。

php.iniの設定は下記の通りです。(phpは5.4.7)
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = localhost
smtp_port = 587  <----25にしても変わりませんでした。

; For Win32 only.
http://php.net/sendmail-from
sendmail_from = postmaster@localhost

PHPのソース
<?php

mb_language("Japanese");
mb_internal_encoding("UTF-8");

if (mb_send_mail("cy0***@md.point.ne.jp", "テストメール", "これはテストです。", "From: chibikind***@yahoo.co.jp")) {
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}

?>

A 回答 (5件)

> smtp_port = 587


SMTPのポート番号に587を指定すると言う事は、接続にSMTP認証を使用しているはずです。
SMTP認証が必要な場合はmb_send_mail()が使用できませんので、認証が不要な25番ポートで使用できるSMTPサーバを使用するか、PEAR::MailなどSMTP認証に対応できる機能を使用するしかありません。

この回答への補足

XAMPPについているMerqryを調べて設定してみましたが、それでもダメでした。
PEARは使った事が無いのでこれから調べてみようと思います。
それにしてもたかがローカルからローカルへメールを送る事すらできないので、PHPって難しいなあと思いました。

補足日時:2013/04/04 19:22
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2013/04/18 06:38

phpの用意したmail系の関数はWinでは制限もおおいでしょうし


PEAR::Mailなどで外部サーバー経由で送った方がよいとおもいますよ

http://pear.php.net/manual/ja/package.mail.mail. …

この回答への補足

ありがとうございます。教えて頂いたサイト、PHP初心者の自分にはちょっと敷居が高いようで、自分のパソコンにメールを送ってテストしてみたいだけなのです。

補足日時:2013/04/04 17:29
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2013/04/18 06:39

ローカルでSMTPサーバを動かしていないのであれば、インターネット接続に利用しているプロバイダーのSMTPサーバを利用することになります。


SMTP = localhost にはプロバイダーのSMTPサーバのホスト名又はIPアドレス、smtp_port = 587 にはプロバイダーから指定されているSMTPサーバのポート番号を入れます。
また、sendmail_from = postmaster@localhost にはご自身のメールアドレスを設定してください。

プロバイダーのSMTPサーバがSMTP認証やPOP before SMTPなど認証が必要な場合mb_send_mail()でメール送信できませんので、ご自身でSMTPサーバを用意するなどの対策が必要になります。

この回答への補足

ありがとうございます。おっしゃる通り(多分なのですが)やってみたのですが、
やっぱり送信できませんでした。

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
;SMTP = localhost
SMTP = *****.md.point.ne.jp
smtp_port = 587

; For Win32 only.
http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
sendmail_from = *****@md.point.ne.jp

SMTPサーバをたちあげる事までは考えておらず、(やり方もわからない)
PHPとmysqlの勉強がしたかっただけなのですが、
なかなかうまくいかないものですね。
XAMPPについているMerquryを起動してphp.iniを書き換えればいいのでしょうか?

補足日時:2013/04/04 17:21
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2013/04/18 06:36

ローカルホストにメールサーバ入ってるの?


入ってないなら使ってるプロバイダのSMTPとか指定しないとだめだよ。

この回答への補足

すみません。XAMPPのapacheとPHPのみでメール送信できる物と思い、SMTPサーバーの稼働等は行っておりません。
php.iniのSMTPを自分のメーラーのSMTPサーバと同にしてみましたが、それでもダメでした。

補足日時:2013/04/03 16:47
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2013/04/18 06:35

SMTP = localhost と設定されていますが、ご自身のパソコンでSMTPサーバは稼働していますか?

この回答への補足

すみません。XAMPPのapacheとPHPのみでメール送信できる物と思い、SMTPサーバーの稼働等は行っておりません。

補足日時:2013/04/03 16:46
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2013/04/18 06:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!