WebからPHPのmb_send_mail関数を使用してメールを送信しようとしていますが、なぜか送信されません。
原因についてお分かりになればお教えください。
また、下記以外に必要な情報があればお教えください。
コマンドライン上でのmailコマンドによるメール送信は可能な状態です。
sendmailの代わりにqmailをインストールしているため、/usr/sbin/sendmailから/var/qmail/bin/sendmailへシンボリックリンクを貼っています。
また、PHPのmail()は"Call to undefined function: mail()"エラーとなりますが、mb_send_mail()ではエラーが発生しません。
●OS:TurboLinux7
●言語:PHP4.3.3
●phpのconfigure時のオプション:
./configure --with-apxs=/usr/sbin/apxs \
--enable-mbstring
●/usr/local/lib/php.iniのsendmail_path設定:
sendmail_path = /var/qmail/bin/sendmail
●テスト用PHPのソース(実行すると常に「メール送信エラー」になります)
<?php
$ans = mb_send_mail("メールアドレス","件名","本文");
if ($ans) {
print "<P>メール送信完了</P>";
}
else {
print "<P>メール送信エラー</P>";
}
?>
No.1
- 回答日時:
sendmailではなくてqmailを使っておられるようにお見受けしますが、
PHPは、インストール時にsendmailが見つからなかった場合、
mail() という関数をインストールしないようです。
mb_send_mail() はただ mail() へパイプしているだけなので、
mail() が使えない場合は、mb_send_mail() も使用できません。
makeで作成されるphp_config.hに
#define HAVE_SENDMAIL という行を追加してから
再度インストールしてみて下さい。
この回答への補足
./configure、makeを行い、php_config.hに「#define HAVE_SENDMAIL 1」があるのを確認してからmake installまで再度行ってみましたが、状況に変化が出ませんでした。
# configure時のオプションに一部誤りがありました。
# --with-apxs=/usr/local/apache/bin/apxsでした。
# 申し訳ありません。
phpinfo()で確認してみると、どうも最初のインストール時からPHPのBuild日付が変わっていないようです。
すでにApacheにモジュールが組み込まれているために、make installに失敗しているのでしょうか?
No.2ベストアンサー
- 回答日時:
最初に、PHP全部をゴリっと削除してしまってはどうでしょう?
ただわたしは、PHPをきれいサッパリ削除する方法を知らないのですが。。
「ディレクトリを削除してApacheの設定を変更!!」で
済むとも思えなくて。。
beginさん、ご存じです。。?(汗
PHPの削除方法が私もよくわからなかったのですが、下記のことをして解決しました。
1./usr/local/lib/phpディレクトリをmvで名前変更
2.再度configure
3.make cleanを実行
4. suでrootに変身
5. make install
ひょっとしたらmake cleanコマンド以降のみでよかったのかもしれません。
# ただ、まだ送信されたメールの日本語が文字化けするという問題が発生しているのですが、今回はこれにて完了といたします。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- CGI -T(汚染モード)でメールが送れません 1 2022/06/12 14:11
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(メールソフト・メールサービス) メールが送信できない 発信側でできる対策 3 2023/05/11 10:22
- Outlook(アウトルック) Outlookのメール送信を取り消す方法 1 2022/11/17 13:10
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールフォームのタイトルが文...
-
指定した時間にPHPプログラムを...
-
php 完了画面の送信メールのコ...
-
PHPMailerのコードエラーが解決...
-
メールの本文が取得できない
-
mb_send_mail関数が利用出来ない
-
ローカル環境でのメール送信
-
mail関数を使った場合のReturn-...
-
Mb_Send_mailで文字化け
-
POP Before SMTPでメールを送信...
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
php エラー
-
PHPのif文でその処理を途中で抜...
-
VBでメールを送る時のSMT...
マンスリーランキングこのカテゴリの人気マンスリー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について
-
mail関数を使った場合のReturn-...
-
メールの本文をSmartyにしたい
-
サーバーによってはmb_send_mai...
おすすめ情報