実現したいこと
ローカル環境でPHPを使ってメール送信テストをしたいと思っています。
ターミナルでphp.iniの設定からsendmail_path="/opt/homebrew/bin/mailhog sendmail"に変更し,
MAMPを起動しPHPのmail関数を使ってメール送信をしようと試みました。
発生している問題・分からないこと
タイトルにある通り、この手順ではmailhogにメールが反映されませんでした。
該当のソースコード
PHP
1$to = "test@test.com"; 2$subject = "TEST"; 3$message = "This is Mailhog.\r\nHow are you?"; 4$headers = "From: me@example.com"; 5mail($to, $subject, $message, $headers);
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
1、mhsendmailをインストールしましたが、どのようにsendmail_pathに記述すればわからなかったため、sendmail_path="/opt/homebrew/bin/mailhog mhsendmail"やsendmail_path="/opt/homebrew/bin/mhsendmail"などと変更しましたが変わりませんでした。
2、php.iniが反映されているか確認するためphpinfoを使いましたが、「/usr/sbin/sendmail -t -i」と記述されていました。反映されていないと思いましたが、ターミナルでのphp.iniの変更はvs.codeで開いたphp.iniには反映されています。
この場合はphp.iniの変更は反映されていないと考えるべきでしょうか(一応、変更した後はMAMPを再起動しています)。
php.iniが反映されていないとするならば、php(test.php)の記述かphp.iniに問題があると思うのですが、
1、test.phpは/Applications/MAMP/htdocsで開いているのですが、初心者ながらの考えではありますがtest.phpの入れる場所に問題などがあるのでは
2、php.iniのsendmail_pathの記述に誤りがあるのでは
補足
まとめますと、
mailhogが反映されず、php.iniのsendmail_pathの変更をしたが変わらなかったため、php.iniの変更を確認したが変更されているかどうかが判断できない。
また変更されているとすれば、sendmail_pathの記述の誤り、あるいはtest.phpの配置などの誤りがあるのではと考えた。
あるいは、自分が気づいていない部分(sendmail_path以外のphp.ini設定など)に問題解決がつながっているのではと考えた。
長文で申し訳ありませんが、ご教授いただけたらありがたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。