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ランキング
-
PHPでメールを送信するには
-
phpでメール送信できません 原...
-
さくらサーバーにて、phpからメ...
-
PHPからロリポップ!のメールサ...
-
phpでmb_send_mailを用いてメー...
-
onedrive にexcelファイルをア...
-
<A href ~ と一緒に値を渡すには
-
拡張子php画像をjpg画像等に変...
-
phpのheader("Location:#pos")...
-
フォントの色を変えるには?
-
XAMPP1.7.1上でPHPを実行すると...
-
円グラフ描画について
-
HPを開くとダウンロードページ...
-
リライトのはずがリダイレクト...
-
Bookを閉じて保存した時のみ実...
-
Smartyのtemplatesとtemplates_...
-
インクルードした部分が表示さ...
-
phpからエクセルのマクロを実行...
-
apacheで拡張子を省略してアク...
-
smarty foreach 半角スペース
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
さくらサーバーにて、phpからメ...
-
mb_send_mail関数が利用出来ない
-
ローカル環境でのメール送信
-
pearのMailライブラリがうまく...
-
メールの本文が取得できない
-
PHPからメールを送る@さくらイ...
-
指定した時間にPHPプログラムを...
-
mail関数を使った場合のReturn-...
-
mb_send_mailでのメール送信が...
-
cronでメールを送信すると文字...
-
mb_send_mailについて
-
ワードプレス 予約システム
-
mb_send_mailでタイトルにハテ...
-
mb_send_mail()が使えない
-
PHPで、一度に大量のメールの送...
-
phpでのメール送信
-
PHP4.4.1でmb_send_mailの送信...
-
PHPでのフォーム送信・・・・
-
コマンドプロンプト、VBSでの添...
-
メールアドレス形式チェックソ...
おすすめ情報