PHPでローカルホストからサーバーを経由してメール送信できません
解決済
回答 4
投稿
- 評価
- クリップ 1
- VIEW 4,796
PHP初心者の者です。ローカルホスト(xampp)からロリポップサーバーを経由してメールを送信しようと何度も試してネットなどでいろいろ調べたのですが、どうしてもメール送信ができませんでした。どなたか原因に心当たりがある方がおりましたら、ご回答のほどよろしくお願いします。
ソース内容
//各項目をShift-JISに変換
//件名
$title = mb_encode_mimeheader(mb_convert_encoding($title, "JIS", "utf-8"),"JIS");
//送信先アドレス
$to = mb_convert_encoding("xxxx@ooo.or.jp", "JIS", "utf-8");
//内容
$message = mb_convert_encoding($honbun , "JIS" , "utf-8");
//送信元メールアドレス
$from = "From: zzzzz@oooo.or.jp";
//メーラー
$xmail = "X-Mailer: PHP/". phpversion();
$i = 0;
if(mail($to, $title, $message, $from . "\r\n" . $xmail)){
$_SESSION['error' . $i] = "お問い合わせ内容を送信しました。";
}else{
$_SESSION['error' . $i] = "お問い合わせ内容を送信できませんでした。";
}//if
PHP.iniの設定内容
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.lolipop.jp
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = zzzzz@oooo.or.jp
sendmail.iniの設定内容
[sendmail]
; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.
smtp_server=smtp.lolipop.jp
; smtp port (normally 25)
smtp_port=25
; SMTPS (SSL) support
; auto = use SSL for port 465, otherwise try to use TLS
; ssl = alway use SSL
; tls = always use TLS
; none = never try to use SSL
smtp_ssl=auto
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+2
ロリポップを経由するのであれば、以下のような設定になる気がします。
<抜粋>
smtp_server=smtp.lolipop.jp
smtp_port=465
smtp_ssl=auto
auth_username=sample@xxx.lolipop.jp
auth_password=password
#「auth_username=」と「「auth_password=」の値は、ロリポップのSMTP-AUTHの情報を設定。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+2
最近は多くのプロバイダで25番ポートによる外部接続をブロックしていますので、
そもそも25番ポートでの通信が不可能な可能性がありますね。
http://www.dekyo.or.jp/soudan/taisaku/i2.html
http://www.ntt.com/personal/services/option/mail/ocnmail/meiwaku/op25b.html
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
本当にメールサーバーはsmtp=25で受け付けてくれるのでしょうか?
メールで困ったときはPEAR::Mailなどに逃げたほうがよいかもしれません
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
smtp_port=25
ならsmtp_ssl=auto
じゃなくてsmtp_ssl=none
では?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.09%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
kei344
2017/03/03 20:30
質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
kei344
2017/03/07 18:49
まだ質問が「受付中」になっていますが、いったん「解決済」にされてはいかがでしょうか。
KentaroOnoda
2017/03/08 09:40
回答が遅くなってしまい申し訳ございません。ご教示頂いた方法でコードブロックにして更新ボタンをクリックしたのですが、更新されていましたでしょうか?ご丁寧にご指摘ご教示頂きありがとうございました。
kei344
2017/03/08 11:22
返答ありがとうございます。編集された場合、「投稿 2017/03/03 19:07」の横に編集の日付が出るのですが、それが確認できません・・・。今までも何人かの方が同じ症状だったことがあるので、何らかのバグかもしれません。お手数ですが、もう一度だけ試していただけませんか?