PHPが使える無料レンタルサーバーで会員管理画面を作ろうとしているものです。だいぶ完成してきて、残りは登録した人に会員登録したことをメールで自動送信することができるようになれば完成というところまできました。無料レンタルサーバーの利用についての説明の中ではsendmailは利用可となっています。私はメール送信のプログラムを作ったことがないので、しきりに本を読みながら悪戦苦闘しております。本の中のサンプルを参考に下のようなソースを書いて、テストしていますがダメでした。
$mailto="*****@***.biglobe.ne.jp";
$mailsbj="新規登録";
$mailbody="登録者ができました";
$mailheader="From:****@yahoo.co.jp\nReply-To:*****@***.biglobe.ne.jp\nX-Mailer:phpversion();"
mb_language("ja");
if(mb_send_mail($mailto,$mailsbj,$mailbody,$mailheader)){
echo "メールの送信に成功";
}
else{
echo "メール送信失敗";
}
利用している無料レンタルサーバ内のsendmailの説明の中には
sendmailのパス:/usr/lib/sendmail
と記入されています。
web上で色々調べてみましたが、どうも今一よくわかりませんでした。mb_send_mailは使えないと言うことでしょうか?
もし、sendmailを使用してメール送信をする場合にはどんなソースを書けばよいのでしょうか。
どなたかご指導宜しくお願いいたします。
No.1
- 回答日時:
>> テストしていますがダメでした。
>> mb_send_mailは使えないと言うことでしょうか?
「ダメ」とは、エラーがでるということなのか。送信は完了するが送信先に届かないということなのか。あるいは他に異常な現象が起きているのか? それを開示していないので、
アドバイス程度しかできませんが、
1.phpスクリプトの誤記等は無いか確認しましょう
2.phpのメール関係の設定を確認しましょう
・php.ini内のsendmail_pathは正しく設定されているか確認する
・単純な($mailheaderの無い)パターンで送信できるか確認する
3.mb_send_mailがダメならmail()でも試してみましょう。サンプルは
http://jp2.php.net/mb_send_mail にも有ります
mail()では動くなら、mb_language() も確認しましょう
4.それでもダメなら、popenで直接 sendmail を直接使う方法も有ります。
この回答への補足
ありがとうございます。レンタルサーバーでは、エラー表示がでてこないのでどこでエラーになっているのか、分からない状態です。
サーバーの使用のところに、パールのsenndmailのパスが載っていました。調べてみたらphpにはsendmailという関数はないのですね。もしかしたら、そのレンタルサーバーはパールのsendmailが使えるということで、phpではメール送信ができないのかなとちょっとあきらめ気味になっています。
No.2ベストアンサー
- 回答日時:
>> エラー表示がでてこないのでどこでエラーになっているのか、分からない状態です。
厄介なレンタルサーバですね。
perlでsendmailができるならphpからのメールも許可されているはずですので、単純なプログラムのミスが原因だとは思いますが、エラー表示が一切出ないとすると単純なタイプミスさえ原因を追う手段が無くなるのでityounomiさんのおっしゃるとおり諦めるしかないかな。
ただ分からないのが・・
>> テストしていますがダメでした。
エラーも表示されないのにどうしてPHPではダメと判断できたのでしょう。
せめて、元の質問内のスクリプトの結果に何が表示されたのか("メールの送信に成功" or "メール送信失敗" または他の表示)くらいは開示しておくともっと頼りになる人から回答が得られたかもしれませんね。
>> 調べてみたらphpにはsendmailという関数はないのですね
PHPでのメール関数としては、mail()やmb_send_mail()だけですが、
sendmailのパスが分かっているのならシステムコマンドのsendmailをphpから以下ように直接操作する手段も有ります。
$to="*****@***.biglobe.ne.jp";
$body="hogehoge"; //ここにヘッダー込みで本文を書く
SendEmail($to,$body);
function SendEmail($to,$body){
$mp = popen("usr/lib/sendmail ${to}", "w");
fputs($mp, $body);
pclose($mp);
}
他にソケットを使ってメールを送る方法も有りますが、少々敷居が高いです。興味が有ったら検索してみれば例がいっぱい見つかります。
お力になれずに済みませんでした。特殊な設定のサーバを利用しているようなのでレンタル先のサポートに聞くしかなさそうです。
では!
お礼が贈れて申し訳ございませんでした。
できました(^▽^)
phpでも送信できました。
タイプミスでした・・・^^
もっと簡単にデバックできる機能があるエディターが
欲しくなりました。せめてタイプミスを指摘してくれる
ものがあれば、どんなに楽なことなのか。
でも、教えてgooさんには本当にお世話になっております。
感謝の言葉もございません。
私はだれも教えてくれる人がいませんし、かといって
スクールに通うお金もないので独学のみで・・・。
本当に、こころから感謝しております。
壁にぶつかるのは慣れっこですが、何時間も本屋やWEBで
調べても独学では解決できないことがあるんです。
でも、皆さんからのアドバイスが道を開いてくれます。
本当にありがとうございました(^▽^)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- 迷惑メール・スパム ヘルスケア テクノロジーズ 1 2023/02/13 08:23
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- ハッキング・フィッシング詐欺 別のサイトでごめんなさい OKWAVE 認証されたのに 5 2023/04/06 12:31
- ハッキング・フィッシング詐欺 OKWAVEのログインと会員登録と新規登録 1 2023/04/10 17:09
- その他(暮らし・生活・行事) → ※このメールは、ファミマTカードをファミペイに登録されたことがある会員様にお送りしております。す 4 2023/05/03 12:24
- その他(gooサービス) dアカウントを登録できません 1 2023/03/03 23:35
- その他(IT・Webサービス) [PayPay銀行キャッシュカード拾得の件] このメールは本物か? 6 2022/09/15 21:52
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mb_send_mailを実行するとエラ...
-
mb_send_mailでのメール送信が...
-
Mb_Send_mailで文字化け
-
PHPsendmailにて送信元を変更
-
メールフォームのタイトルが文...
-
POP Before SMTPでメールを送信...
-
ローカル環境でのメール送信
-
メールの本文が取得できない
-
onedrive にexcelファイルをア...
-
VBSの「MsgBox」について
-
こちらはただの直列処理ですか?
-
複数ファイルを連続でダウンロード
-
パースエラーとは?
-
リンク先を隠す方法はないでし...
-
拡張子php画像をjpg画像等に変...
-
図に示す階層構造で,現在のデ...
-
C# Excelファイルへの画像挿入。
-
PHPとCSVで簡易データベースな...
-
Subversionで、ファイルをリネ...
-
ワードプレス、Contact Form 7...
マンスリーランキングこのカテゴリの人気マンスリー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...
おすすめ情報