phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません。
php.iniの現時点における設定は、以下の通りです。
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
; For Win32 only.
;sendmail_from =
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "sendmail -t -i"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
;mbstring.strict_encoding = Off
なお、phpのスクリプトでは、mb_send_mail関数を呼ぶ直前に、
mb_language("ja");
mb_internal_encoding("utf-8");
を実行しております。
また、html部では、<meta…タグにおいて、charset=UTF-8の宣言を行い、
このhtml部を含むphpファイルは、文字コードUTF-8にて格納し直しました。
原因をいろいろ探ったのですが、自力では無理のようです。
原因と考えられる点をどうか教えて頂くようにお願い致します。
No.3ベストアンサー
- 回答日時:
25番のファイアーウォールのポートが開いてないとか?
プロバイダーがメールサーバーをたてれないように25ポートをブロックしているとか?
お手数をかけ、また大変お騒がせ致しました。
おかげさまで、解決致しました。
原因は、php.iniの項目sendmail_pathの設定の誤りでした。
サーバ情報、phpinfo()でパスを確認し、
以下の通りに設定することで、解決致しました。
sendmail_path = "/usr/sbin/sendmail -t -i"
サーバのOSがunix系であると漠然と認識していたため、
「具体的にはFreeBSD 6.1であって、
しかも、sendmail_path の設定がサーバによって異なる」
点に気が付くのが遅かったようです。
ありがとうございました。
今後ともよろしくお願い致します。
No.2
- 回答日時:
if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader)) {
↓
if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader) == true) {
にしたらどうでしょうか。
この回答への補足
早速回答頂き、ありがとうございます。
教えて頂いたように、
比較演算子==を用いてみましたが、
症状はかわりませんでした。
ところで、申し遅れましたが、サーバのOSはFreeBSD 6.1です。
sendmail_pathの設定は、UNIX用のデフォルト値として
"sendmail -t -i"に設定していますが、
これでよいかどうか、調べる方法が分からず、
こちらもネットであれこれ探しております。
この点は、全く問題ないでしょうか。
No.1
- 回答日時:
>phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません。
なにがどううまくいかないのか?
うまくいかない処理のソースを書いてください。
それがどのようにうまくいかないのかエラー内容や現象を詳しく書いてください。
この回答への補足
失礼致しました。
質問の内容が不十分でしたので、以下に補足させて頂きます。
ソースの該当部分の抜粋は、以下の通りです。
<?php
中略
$mailto = "送信先メールアドレス";
$mailsbj = "メールのタイトル";
$mailbody = "メール本文";
mb_language("ja");
mb_internal_encoding("utf-8");
if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader)) {
$msg = "送信完了<BR>";
}
else {
$msg = "送信失敗<BR>";
{
?>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META http-equiv="Content-Style-Type" content="text/css">
</HEAD>
<BODY>
<?=$msg?>
</BODY>
</HTML>
(1) $mailto、$mailsbj、$mailbodyは何れも、正常に引き渡されていることを確認しました。
(2) 「うまくいかない」とは、ブラウザ画面上に、上記「送信完了」ではなく「送信失敗」と表示されてしまう…とのことです。
(3) 現時点では、php.iniにあるメール送信・mbstring関連の設定の確認のほか、どのような観点・視点で原因を探ればよいか分からないため、今回質問をさせて頂きました。
以上、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- PHP php ログイン 1 2022/11/01 00:24
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
POP Before SMTPでメールを送信...
-
さくらサーバーにて、phpからメ...
-
メールアドレス形式チェックソ...
-
コマンドプロンプト、VBSでの添...
-
サーバーによってはmb_send_mai...
-
PHP から Softbank 3G 端末への...
-
PHPsendmailにて送信元を変更
-
mail関数を使った場合のReturn-...
-
mb_send_mail関数が利用出来ない
-
セレクトメニューの値をメール...
-
メールフォームのタイトルが文...
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
onedrive にexcelファイルをア...
-
.phpと.incファイルの違いはな...
-
CSV出力にHTMLが入ってしまう
-
バッチを用いたフォルダの自動移動
-
PHPでの複数ファイル出力
-
XML-RPCでsend()できない
-
.htaccessにphp_valueが使用できな
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php 完了画面の送信メールのコ...
-
さくらサーバーにて、phpからメ...
-
メールフォームのタイトルが文...
-
PHPsendmailにて送信元を変更
-
mb_send_mail関数が利用出来ない
-
PHPからロリポップ!のメールサ...
-
VBA 添付ファイルをつけてメー...
-
mailやmb_send_mail関数で、本...
-
sendmailでエラーがでます
-
PHPでの仮登録時の会員認証メー...
-
phpでメール送信できません 原...
-
mb_send_mail() 第 4、5 引数の...
-
PHPMailerのコードエラーが解決...
-
PHPからメールを送る@さくらイ...
-
ローカル環境でのメール送信
-
PHPでメールを送信するには
-
mb_send_mailについて
-
メールの本文をSmartyにしたい
-
mail関数を使った場合のReturn-...
-
PEAR の Mail/Queue.php で文...
おすすめ情報