質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1150閲覧

xamppを利用した、ローカル環境からメール送信ができない

wazowski_006

総合スコア23

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/03/22 22:25

XAMPPのローカル環境から【メールを送信】できるように設定する方法を初心者向け
こちらを参考に、新たに送信用メールアドレスをgmailでつくり、
php.iniとsendmail.iniを設定しました。

その後、htdocsにsendmail_test.phpを作成し、

<?php $from = '(新しく作成したgmailアドレス)'; $to = '(自分が普段使用しているアドレス)'; $subject = '件名: テスト送信'; $message = <<< EOF {$from}より。 こんにちは。 これはテスト送信です。 EOF; if (mb_send_mail($to, $subject, $message, "From: {$from}")) { echo '送信成功。'; } else { echo '送信失敗。<br>エラーログを確認してください。 (xampp\sendmail\error.log)'; }

と記述しました。
これを開くと、きちんと「送信成功。」とでますが、
$to = '(自分が普段使用しているアドレス)';のアドレスにメールが届きません。

3回ほど設定を一から行いましたが、
送信成功と出ますが、実際にメールが送られてきませんし、
xampp\sendmail\error.logも出てきません。

何がいけないのでしょうか?
一点気になることといえば、
php.iniの記述を変更する際、

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

の=以下が元々空欄だったので、
そこに上記の「""C:\xampp\sendmail\sendmail.exe" -t"」を足したことぐらいです。

お知恵をかしていただけないでしょうか?
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/03/22 22:32

Apacheは再起動されたのでしょうか。
CHERRY

2022/03/22 22:33

gmail の場合、安全性の低いアプリのアクセスをオンにするやアプリパスワードでしょうか。
wazowski_006

2022/03/22 22:41

Apacheは何度も再起動しました…。 安全性の低いアプリのアクセスが無効になっていたので、 有効にし、Apacheも念のため再起動し、 再度sendmail_test.phpにアクセスしましたが、 「送信成功」となるのみで、メールは届きません。 xampp\sendmail\error.logもできてませんでした…。
wazowski_006

2022/03/22 22:42

あと、迷惑メールも確認してますが、ありません。
退会済みユーザー

退会済みユーザー

2022/03/23 00:11 編集

xampp\sendmail\sendmail.ini の設定はいかがでしょうか。あと、ファイアウォールが通信を遮断している可能性も。
wazowski_006

2022/03/23 21:49

「xampp\sendmail\sendmail.ini の設定はいかがでしょうか」とはどういうことでしょうか? 上記サイトにある設定は全てできています。 「ファイアウォールが通信を遮断している可能性も。」とのことで、確認してきました。 プライベートネットワークに接続済みで、 パブリックネットワークは接続されてませんとなっております。 ESETで管理されているからなのか、 接続はされていますが、盾?のアイコンが赤く×になってます。
guest

回答2

0

XAMPPのFake Sendmail を使用したPHPのSendmail 送信テストの方法 | IT業務で使えるプログラミングテクニック
https://kekaku.addisteria.com/wp/20181118071320
に示されているように、mailtodisk.exeに一旦置き換えてみて送信メールがファイル保存されることが確認できるかどうか。

確認できたなら、ネットワークの問題やGmail側との認証の問題。

Gmailは「安全性の低いアプリのアクセス」をオンにしてもすぐに有効にならないような情報もあるので、
数日置いた今試すとどうか。

もしもインターネットプロバイダー契約があってメールアドレスが付与されているならそっちを使うとか、
レンタルサーバー契約があるならそこでメールアドレスを作ってみて使ってみるとか、
Gmailじゃないメールアドレスを使うとどうか。

ESET?がどうなることが正しいのかわからないので言及不可。

投稿2022/03/24 01:01

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wazowski_006

2022/03/24 11:34

ご回答ありがとうございます。 確かに、Gmailばかりで試すのもよくないですね。 「「安全性の低いアプリのアクセス」をオンにしてもすぐに有効にならないような情報もある」とのことでしたが、 本日送ってもだめだったので、違う理由みたいです。 ありがとうございました!
guest

0

自己解決

皆様、アドバイスありがとうございました!

結局調べても調べても、試しても試しても出てこないので、
XAMPPを再インストールしました。
何が違うのか全く分かりませんが、無事送信することができました!

皆様ありがとうございました!

投稿2022/03/24 11:37

wazowski_006

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問