- ベストアンサー
PHPメール送信条件について
- ネットで公開されているサーバー監視PHPスクリプトを使って、障害が発生した場合にメールを送信する方法について教えてください。
- 具体的には、pingチェックとwebアクセスチェックがNGの場合にメールを送信したいです。
- アドレス情報や送信元のアドレスなども設定してください。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- PHPでのmail送信に関して
教えて下さい。 PHPの中で、mail関数を用いてメール送信をしたいと考えていますが、 下記のようなエラーでどうしても送信できません。 Warning: mail() [function.mail]: SMTP server response: 999 5.7.1 Unable to relay for xxx.xxx@xxx.co.jp in C:\Apache Group\Apache2\htdocs\PHP\mail.php on line 9 phpの方の記述は、 <?php $to = 'xxx.xxx@xxx.co.jp'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: xxx.xxx@xxx.co.jp' . "\r\n" . 'Reply-To: xxx.xxx@xxx.co.jp' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?> としてあります。 php.iniの部分も以下のように変更しています。 [mail function] ; For Win32 only. SMTP =xxx.xxx-mail.ne.jp ← ここをSMTPのメールサーバにしてあります。 ; For Win32 only. ; sendmail_from = ; For Unix only. You may supply arguments as well (default: 'sendmail -t -i'). ;sendmail_path = エラーを解除する為にはどこを修正すれば良いでしょうか。。。 教えて下さい。 宜しくお願いします。
- 締切済み
- PHP
- PHPでメールが送信できない
弊社でお客様のお問い合わせフォームをPHPで作成しているのですが、 お客様の環境でメールを送信することができません。 サーバー環境は以下の通りです。 Red Hat Linux 2.6.9 Apache/2.0.52 PHP 4.3.9 原因の調査で以下のようなチェックを行いました。 【お客様に御願いしたチェック】 1. サーバーでsendmailコマンドを利用してメールが送れるか? 送ることができる。 正しくキューイングされ、送信されることまで確認OK 2. php.iniのsendmail_pathの確認 sendmail_path は /usr/sbin/sendmail -i -tになっている。 /usr/sbin/sendmailはちゃんとある 3. mail()が使えないPHP /usr/sbin/sendmail,/usr/lib/sendmailがなければmail()が使えないPHPがビルドされるケース。 標準のPHPを利用しているので、問題ない。 【弊社が担当したチェック】 1. メールを送信するPHPスクリプトの不具合 PHPスクリプト自体は正常に動作する。 php.iniのdispaly_errorsをONに変更してもエラーメッセージはでない。 2. 簡単なmail()関数を使用したチェック 以下のようなphpスクリプトで確認。 OKがブラウザに表示される。 <?php if (mail("私のメールアドレス", "テスト", "テスト本文", "From:私のメールアドレス")) { echo "OK"; } else { echo "NG"; } ?> 何か原因があるのでしょうか? どなたか教えてください。
- ベストアンサー
- PHP
- PHP、PEARでのメール送信での送信確認
メール送信フォームを書籍やサイトを参考に作成しています。 下記のスクリプトで送信に成功したのですが、このままでは 「送信に成功しました」とも「送信に失敗しました」とも表示されません。 どのようにしたら、そのようなメッセージが出せるのでしょうか? <?php require_once("Mail.php"); $params = array( "host" => "xxx.xxx.xx", "port" => 25, "auth" => false, "username" => "xxx@xxx.xxx.xx", "password" => "xxxxxxxxxx" ); $mailObject = Mail::factory("smtp", $params); $recipients = "xxx@xxx.xxx.xx"; $headers = array( "To" => "xxx@xxx.xxx.xx", "From" => "xxx@xxx.xxx.xx", "Subject" => "Test Mail" ); $body = "This is test mail"; $mailObject -> send($recipients, $headers, $body); ?> よろしくお願いします。
- ベストアンサー
- PHP
- phpでのメール送信
$mail = new Qdmail(); $mail->lineFeed("\n"); $mail->text($msg); $mail->from( 'xxx@xxx.co.jp' , 'テスト' ); $mail->to( array($mail_address , $name) ); $mail->subject( 'パスワード再発行のお知らせ' ); $mail->send(); 上記コードで、メール送信処理を実装したのですが、 あるメールアドレスへ届いて、あるメールアドレスには届かないという現象が発生しています。 届かない方はプロバイダの迷惑メールとして処理されたのかと思い調べてみたのですが 迷惑メールとして処理された形跡は全くありませんでした。 この場合、他に考えられる原因はなんでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- Mailの送信のみが出来ない
メールの設定は正しく出来ているのですが、受信はOK、送信はNGな状態になっています。 OS:Windows7Pro を Windows10 にアップしたものです。 Mailer:thunderbird、OUTLOOK、メール(Windows10)、WindowsLiveMail どれでも同じ状態です(送信だけが出来ません) 全く同じ設定を別のPC(B機)に行うと正しく送受信出来ます。 正しく他のPC(A機)で送受信しているメアドでもB機に同じ設定をすると送信だけ出来ません。 エラーメッセージは以下の通りです(WindowsLiveMail実行時) ●サーバは接続を解除しました。サーバーまたはネットワークに問題があるか、アイドル時間が長すぎた可能性があります。 件名 'テスト' サーバ: mail.xxx.xxx.xx.jp (xxxの部分は伏字です) Windows Live メール エラー ID:0x800CCC0F プロトコル:SMTP ポート:25 セキュリティー(SSL):いいえ ポートを587に変更すると ●サーバは接続は失敗しました。 件名 'テスト' サーバ: mail.xxx.xxx.xx.jp (xxxの部分は伏字です) Windows Live メール エラー ID:0x800CCC0E プロトコル:SMTP ポート:587 セキュリティー(SSL):いいえ ソケット エラー;10061 WEBサイトの閲覧は出来ています。 サーバ(mail.xxx.xxx.xx.jp)にPINGは正常に飛びます。 3日前まで送受信出来ていましたが、突然送信が出来なくなりました。 同一ネットワーク上の端末は特に問題なく動いています。 サーバ内のメールの削除設定は7日間に設定しています。 Windows7からのアップが特殊な問題を引き起こしているのかと想像し始めているのですが、、、何かヒントでももらえれば幸いです。
- 締切済み
- ノートPC
- PHPのmail関数で送信できない
Fedracore3でPHPプログラムの制作をしています。 今問題となっているのが、mail関数でメールを送信する部分です。 テストしているスクリプトです。 <?php $rst = mail("xxx@xxxx.com", "送信テスト", "Hello !!", "from: xxx@xxx.info"); if($rst){ print ("メール送信テスト完了"); }else{ print ("メール送信テスト失敗"); } ?> かならず「メース送信テスト失敗」になり、実際送信している先のメールアドレスにも届きません。 ちなみにコンソールからsendmailコマンドで直接入力すると送信できるので、sendmailの設定や名前解決などは問題ないと思われます。 現在の環境は以下の通りです。 OS:Fedracore3 PHP:Version 4.3.9 Apache:2.0.52 (Fedora) ちなみにi18n_convertやi18n_mime_header_encodeなどの関数も画面が真っ白になるだけで動きません。 システムの設定かと思うのですが、思い当たる部分が見当たらないので困っています。ご教授方よろしくお願いいたします。
- 締切済み
- PHP
- PHPからのメールがこない
#! /usr/local/php4/bin/php<? //各種初期設定 $from="info@demo.net"; //送信元 $dest="info@demo.net"; //宛先 $header="From: $from\nReply-To: $from"; //ヘッダ $subject="お問い合わせ"; //件名 //エラーがない場合のみメール送信 if($result=="flash"){ // 文字コードの変換 mb_convert_variables("EUC-JP", "JIS, SJIS, UTF-8", &$SUBJECT, &$COMPANY, &$PERSON, &$EMAIL, &$URL, &$COMMENT); //言語を日本語に設定 mb_language("Japanese"); $message="省略"; //メールを送信する mb_send_mail($dest, $subject, $message, $header); // FlashのAns = Sender.Answer; に'Complete' を返す print "Content-type: text/plain\n\n"; print "Answer=Complete"; } ?> というFlashと連動するPHPなのですが、 メール送信完了と表示されるのにメールがきません。 どなたかお分かりになるかた是非教えて下さい。 利用サーバー環境は OS Linux (Fedora Core 3) PHP PHP-4.3.11 (CGI版) Perl Perl-5.8.5 です。よろしくお願いします。
- ベストアンサー
- PHP
- perでメールが送信出来ない場合の確認方法
perlで下記のような感じでレンタルサーバーで動かしたところ送信が出来ませんでした。 その場合に、レンタルサーバーなのでsendmailのログも見れないで困っていますので、 原因の確認方法が解ればご教示頂ければ有難いです。 my ( $SENDMAIL ) = '/usr/sbin/sendmail'; open(MAIL, "| $SENDMAIL -t "); print MAIL "From: xxx@xxx.co.jp\n"; print MAIL "To: xxx@xxx.co.jp\n"; print MAIL "Subject: test\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n"; print MAIL "\n"; print MAIL "test_letter\n";
- 締切済み
- Perl
- PHPメール送信トラブルです。【お願い、助けて】
どなたか助けてください。 Webサーバーと、メールサーバーが別です。 Webサーバーにメールフォームを設置していますが動きません。 以下のメッセージが返ってきます。 メールサーバーが別ですが、自分のWebサーバーに送っているために、メールアカウントが 無いって言われているような気がします。 メールサーバーに送るためには、どこの設定をどんな風にすれば良いのかを教えてください。 私は、技術者ではありません(営業です)が、技術者自身が解決できず困っています。 他の情報が必要な場合準備します。お願いします。 ------------------------------------------------------------------------ The original message was received at Wed, 15 Apr 2015 22:52:03 +0900 from zzzzzzzz@localhost ----- The following addresses had permanent fatal errors ----- xxx@xxxxxx.xx.jp (reason: 550 5.1.1 <xxx@xxxxxx.xx.jp>... User unknown) (expanded from: xxx@xxxxxx.xx.jp) ----- Transcript of session follows ----- ... while talking to [127.0.0.1]: DATA <<< 550 5.1.1 <xxx@xxxxxx.xx.jp>... User unknown 550 5.1.1 xxx@xxxxxx.xx.jp... User unknown <<< 503 5.0.0 Need RCPT (recipient)
- 締切済み
- PHP
- pingサーバーに更新pingを送信する方法
インターネットでpingサーバーに更新pingを送信する方法を調べておりましたところ、 以下のような方法が見つかりましたので、試してみました。 すると、たまに動作するのですが、たいていの場合は以下のエラーになります。 The script did not produce proper HTTP headers. 使用しておりますサーバーはコアサーバーです。 #!/usr/bin/perl use XMLRPC::Lite; my $name = "サイト名"; my $url = "http://www.hogehoge.net/"; #PING送信先######################################## my @ps = ( 'http://pinghoge.jp/ping/', 'http://pinghogehoge.jp/ping/', ); ################################################### foreach (@ps) { my $result = eval { XMLRPC::Lite ->proxy($_) ->call('weblogUpdates.ping', $name, $url) ->result; } } エラーの解決方法など、おわかりになる方がおられましたら、ご教示を頂けますと幸いです。 どうぞ宜しくお願い申し上げます。
- ベストアンサー
- Perl
お礼
有難う御座いました! ping NG、webアクセス OK ping OK、webアクセス NG ping NG、webアクセス NG でメールが送信され、 ping OK、webアクセス OK ではメールは送信されなくなりました。 本当に有難う御座いました。