
PHPを利用して、メールを送れません。
PHP4.3.10を使っています。レンタルサーバーとして、さくらインターネットのレンタルサーバー(プレミアム)を利用しています。
以下のようなスクリプトを書いたのですが、指定されたアドレスにメールが届いた気配がありません。何か、設定したりしないといけないとか、初歩的なミスかと思うのですが、何が悪いのでしょうか?
<?php
mb_language('Japanese');
mb_send_mail('xxx@xxx.xx.xx','やぁ','届いた?');
?>
No.1ベストアンサー
- 回答日時:
ソースには問題無いはずですがEUCで保存されてますよね?
考えられる問題は
・その他の引数が入っていない(通常は必要なものは補完されますので必要ありませんが)
念のため指定してはどうでしょうか。
どこかのMLリストでReturnpathヘッダーを付けたら送信できた。という
スレッドを見たことがあります。
サーバー側で差出人なしのメールを破棄しているかもしれません。
通常はphp.ini内のsendmail_from欄を参照し
NULLであればroot@サーバー名 になるはずです。
・マルチバイト関数が有効になっていない
PHPのconfigure時に--enable-mbstring が有効になっていないと利用できないはずです。
phpinfo()関数を実行してmbstring項目の該当値がenableになっていなければいけません。
もっとも、この場合はエラーを吐くはずなんですが・・・
・php.iniの設定でsendmailへのpath設定されていない
あり得ないとは思いますがsendmailへのpathが設定されていない可能性があります。
コレばかりはサーバー管理者しか設定できませんので管理者に連絡するしかありません。
通常は自動認識してくれるはずなんですが・・・
この時もエラーを吐いてくれるはず。
もしマルチバイト系が利用できないのであれば自分で適切にエンコーディングして
mail()を使って送信するしかないですね。
mb_send_mail()は自動的にエンコーディングを行いmail()に投げてくれる関数ですから。
なにかエラーメッセージは表示されていませんか?
念のためmb_send_mailを実行したときにTrueが返ってきているか
確認してください。
<?php
if(mb_language('Japanese')){
echo "languageはJapaneseに設定されました。<BR>";
}else{
echo "languageはJapaneseに設定できませんでした<BR>";
}
if(mb_send_mail('xxx@xxx.xx.xx','やぁ','届いた?')){
echo "正常に処理されました。<BR>";
}else{
echo "正常に処理されませんでした。<BR>";
}
?>
MTAのログなんかも確認できると良いのですが
レンタルサーバーでは無理かもしれません。。。
試行錯誤してみた結果、驚くべきことに、
さくらインターネットによって設定されていた、php.iniのsendmailへのパスの初期値が、間違っていました。
ご迷惑をおかけしました。どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーバーによってはmb_send_mai...
-
メール送信プログラム
-
PHPのif文でその処理を途中で抜...
-
ボタンのクリック数を合計保存...
-
Subversionのリポジトリの削除
-
SendMailがエラーを返さない
-
.phpファイルが、表示されない
-
PHPでメールを受信するには?
-
PHPSpreadsheetによる書き出し...
-
FTPコマンドでディレクトリごと...
-
SQLiteに画像を格納したい
-
別ファイルの変数を呼び出した...
-
リンク先を隠す方法はないでし...
-
ビットマップ画像を読み込むプ...
-
inputタグでphpを呼び出す際、...
-
CFileDialogの最初のディレクト...
-
php,mysqlにて画像パス保存/表...
-
ラッパークラスって何ですか?
-
TCPDFについて
-
PHPExcel処理速度が遅い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバーによってはmb_send_mai...
-
ローカル環境でのメール送信
-
フォームからメール送信
-
メールを受信で文字化け
-
さくらサーバーにて、phpからメ...
-
日本語メールの送信する関数
-
初心者です。PHPのfunction...
-
phpでメールフォームを作成した...
-
メール送信プログラム
-
mailやmb_send_mail関数で、本...
-
PHPからメールを送る@さくらイ...
-
phpでmail()関数以外のやり方に...
-
php 完了画面の送信メールのコ...
-
mb_send_mail関数が利用出来ない
-
PHPsendmailにて送信元を変更
-
ワードプレス 予約システム
-
PHPでメールを送信するには
-
コマンドプロンプト、VBSでの添...
-
PHPMailerのコードエラーが解決...
-
sendmail.phpとthanks.php
おすすめ情報