
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでメール送信できません 原...
-
PHPで、一度に大量のメールの送...
-
phpのheader("Location:#pos")...
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
mysql→EUC-JP、php→UTF-8の時の...
-
phpのextension_dirを複数指定...
-
phpの中でphpを書けないか
-
PHP PDOライブラリが読み込まれ...
-
mamp環境でのcronの使い方で困...
-
PHPでメールを受信するには?
-
再度、xamppにおけるjpgraphの...
-
セッションについての設定なの...
-
2つの画像ファイルが異なるファ...
-
require_once()でファイルが読...
-
PHP版のPDFlibのインストール
-
PHPのif文でその処理を途中で抜...
-
header(Location:~)で$_SESS...
-
PHPからMSSQLへの接続結果の文...
-
includeでHTMLファイルを呼出し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 添付ファイルをつけてメー...
-
さくらサーバーにて、phpからメ...
-
mb_send_mail でスパム扱いとなる
-
XAMPPでPHPのmb_send_mailが動...
-
excel VBAでメールを送る方法に...
-
ワードプレス 予約システム
-
phpでのメール転送(添付ファイ...
-
mb_send_mail関数が利用出来ない
-
PHPからメールを送る@さくらイ...
-
mb_send_mail内でif文を使いた...
-
指定した時間にPHPプログラムを...
-
phpでのメール送信
-
mail関数を使った場合のReturn-...
-
サーバーによってはmb_send_mai...
-
複数行の文字列をメールのヘッ...
-
if( mb_send_mail( ・・・) ) {...
-
ローカル環境でのメール送信
-
PHPからのメールがこない
-
mail関数に送信について
-
メール受信 件名が文字化け
おすすめ情報