• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ローカル環境でのメール送信)

ローカル環境でのメール送信が上手くいかない

このQ&Aのポイント
  • PHP超初心者の私がローカル環境でmb_send_mail関数を使ってメール送信を試みましたが、エラーメッセージが表示されてうまくいきません。
  • エラーメッセージには「SMTP server response: 530 5.7.0 Must issue a STARTTLS command first」と表示されています。
  • 設定ファイルを変更し、Outlookのサーバー情報を確認しましたが、問題は解決しませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • w_i_k_i
  • ベストアンサー率100% (1/1)
回答No.2

エラーメッセージに SMTP server response: 530 と出ていることから 何らかの理由でSMTPサーバからアクセスを拒否されています。 多くの場合、STMPサーバーの不正中継防止(SPAM中継)対策に引っかかっている可能性が高いです。他にサーバ側のパーミッション設定ミスなどが考えられますがoutlook等で送信できているのならそれは無いでしょう。 ユーザ側の設定不備の例を下記に示します。 ・認証が必要なSMTPサーバーなのに、認証処理をしないで送信しようとした。 ・FROM欄のドメインとしてSMTPサーバーが許可しているものを利用していない・  多くのISPは、自社が管理しているドメイン名以外からの送信を許可していません。(FROM に使用されている@以降の文字列をチェック)

nicoko
質問者

お礼

回答ありがとうございます。 試行錯誤の結果、ポートがあいてないのがわかりました。 まだ、メールは送れていませんが、なんとかなりそうです。 詳しいことが聞けて感謝しております。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • calltella
  • ベストアンサー率49% (317/635)
回答No.1

メールサーバーを構築していない限りメールは送信できませんが >(1)SMTP = メールアドレス用のsmtpサーバの設定 ↑これは何を設定したんでしょうか? PHP超初心者でしたら レンタルサーバーなどを借りてメール送信テストなどをされた方がいいと思いますよ。

nicoko
質問者

補足

回答ありがとうございます。 >(3)はOutlookのメールのアカウント→プロパティを見て >サーバー情報→送信メールに○○.○○○.jpと書いてあり、 >それをうつしました。 上記の内容は(1)のことでした。かき間違いをしました。 申し訳ありません。 (3)は$mailtoに書いているメールアドレスを入力しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • mb_send_mailでのメール送信がエラーしてしまいます。

    PHPを独習しています。 mb_send_mailでのメール送信でつまづいてしまっており、 ご回答いただければ幸いです。 mb_string等の設定は正常に出来ていると思うのですが、 下記のとおり、mailserverに接続できない旨のエラーが 表示されてしまいます。 ●エラー本文 Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "(契約サーバー)" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\Apache Group\Apache2\htdocs\sample\Part4\4-8\4-8-1.php on line 11 ●PHP本文 $mailto = "(自分のアドレス)"; $subject = "test"; $content = "本文test"; $mailfrom = "From:aaaa@bbb.ccc"; $mailfrom="From:" .mb_encode_mimeheader("木村") ." <ddd@eee.fff>"; if (mb_send_mail($mailto,$subject,$content,$mailfrom)){ echo "送信成功"; }else{ echo "送信失敗"; もしお分かりになる方がいれば、 どうかご教授のほど、よろしくお願いします。

    • ベストアンサー
    • PHP
  • mb_send_mailに関して

    環境:Windows2008 Server R2 64bit/php5.3.22 教えて下さい。 Windows2008 Server R2 64bit 環境にてPHPを動作させ、mb_send_mail()関数を使って メールを送信しようと考えています。 PHPも問題なく動き、mb_send_mail()関数用にphp.ini も以下のようにメンテナンスし、記述も 問題ないかと思われますが、メールの送信ができません。。。 64bitでは何か設定が違うのでしょうか? 教えて頂きたいと思います。 《php.ini》   [mail function]  For Win32 only.          ← 32bit only とわざわざ記述がある為、64bit ではNG?  http://php.net/smtp  SMTP = XXXXXX  http://php.net/smtp-port  smtp_port = 25  For Win32 only.  http://php.net/sendmail-from  sendmail_from = XXX@XXX.co.jp 《記述内容》  <?php  $mailto = "XXX@XXX.co.jp";  $subject = "掲示板";  $content = "新規投稿がありました。 ☆☆☆";  $mailfrom = "From:mail@colcoat.co.jp";  mb_language("ja");  mb_internal_encoding("UTF-8");  if(mb_send_mail($mailto,$subject,$content,$mailfrom)){  }else{   echo "送信できませんでした";  }  ?> よろしくお願いします。

    • ベストアンサー
    • PHP
  • ローカル環境でのメール送信ができない

    ここでお願いします。 xampp-1.6.4 windows2000 PHP5.2.4 xamppでローカル環境にサーバを置き、PHPスクリプトに記述した mb_send_mail関数で自分宛てにメールの送信テストを行いました。 エラーは出なく成功したと思ったのですが、ルータのリンクが点滅してなく どうやら外部に送信されてないようなのです・・・ 何が原因なのでしょうか? [php.ini] [mail function] 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 = "C:\xampp\sendmail\sendmail.exe -t" 送信先も自分用のメールアドレスで [test.php] mb_language("Ja"); mb_internal_encoding("sjis"); @mb_send_mail(自分用のメールアドレス, 'テスト', '本文');

    • ベストアンサー
    • PHP
  • Q)PHPでメール送信について

    Q)PHPで外部のレンタルサーバーにメール送信したいのですが上手く 送信できません。 (現在の状況) ・OutlookExpress だと勿論okです。 ・社内のメールサーバー(ArGo Mail) にはLAN,及び外からも 送信できました。 (レンタルサーバーの状況) 1)メールサーバーのMTAとしてqmailを採用しています。 2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0) 3)POP before SMTP  となっていますが、1)は業者さんに自社サーバー内でテスト頂き、okでした。 ------------------------------------------------------------ となると、原因は (1)私のルーター設定の問題 (2)PHPで   2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0)   3)POP before SMTP を対応させるの何れか?ぐらいしか思いつかないのですが 私のレベルが低いのでどこから取り組んだらいいのかよく解りません、何方かご教授宜しくお願いいたします。 ------------------------------------------------------------ テストしたPHP <?PHP mb_language("Ja") ; mb_internal_encoding("shift-jis") ; $mailto ="hanako@aaa.bbb.cc"; $subject ="花子さん"; $content ="よろしくお願いします。"; $mailfrom "From:" .mb_encode_mimeheader("yorosiku") ."<taro@xxx.yyy.zz>"; mb_send_mail($mailto,$subject,$content,$mailfrom); ?> ------------------------------------------------------------ (環境) Windows xp(sp2) Apache(V2.0.58) PHP(V5.1.4)

    • ベストアンサー
    • PHP
  • PHP/XAMPPのローカルホストからのメール送信

    1) 困っている点 PHP初心者です。PHPでXAMPPを用いてお問い合わせフォームからローカルホスト経由でメールを飛ばすことができるよう環境設定をしていますが、つまづいています。ご教示くださるようお願いします。他に試す箇所、確認すべき個所はありますでしょうか。 環境条件は、Windows11を使用。メールアドレスは外部プロバイダーメール(OCNの@dream.com)を用いて設定を試みています。XAMPPはApache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4 Server at localhost Port 80。 (なお、一通り、PHPの基本的なプログラムは記載し、Marina DB含め、ローカルホストからメールを飛ばさないPHPコードは無事動いています。) 2)PHPのコード ローカルホストから自分のgmailにメールに飛ばすテスト hogehoge@gmail.comのhogehogeの箇所は自分のメールアドレスを記載。PHPではエラーを表示するようにさせた。 <?php error_reporting(E_ALL); ini_set('display_errors', 1); mb_language('Japanese'); mb_internal_encoding('utf-8'); $to = 'hogehoge@gmail.com';  ←hogehogeは自分のgmailアドレス $subject = 'メール送信テスト:test for PHP'; $message = 'メール送信テスト:test for PHP'; $headers = 'From: 自動送信 <hogehoge@dream.com>' . "\r\n"; ←hogehogeは自分のプロバイダーアドレス $headers .= 'Content-Type: text/plain; charset=utf-8'; if(mb_send_mail($to, $subject, $message, $headers)) { echo "送信完了"; } else { echo "送信失敗"; } ?> 3) phpホルダー内のphi.iniの記載 (一部抜粋) [mail function] ; For Win32 only. ; https://php.net/smtp SMTP=localhost  ← 修正 https://php.net/smtp-port smtp_port=25     ← 修正 sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" ← 修正 上記のSMTP、Portのパラメータは下記のHPを参考にし、倣った。 https://miya-system-works.com/blog/detail/xampp-send-mail/ *なお、ここの箇所では下記のパラメータでも行ったがNG。エラーメッセージは5)ii)に記載。 このパラメータはsendmail.iniで入力したものと同じ。 SMTP = smtp.ocn.ne.jp smtp_port = 465 sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 4) sendmail内ホルダーのsendmail.iniの記載 (一部抜粋) hogehogeの箇所は自分のアドレス、P/Wを入力。 pop3_~=~の箇所は三行空欄。 smtp_server=pop.ocn.ne.jp ← 修正(プロバイダー案内通り) smtp_port=465 ← 修正 (プロバイダー案内通り) smtp_ssl=auto ← 修正 auth_username=hogehoge@dream.com ← 自分のアドレスに修正 auth_password=hogehoge       ← 自分のPWに修正 ; if your smtp server uses pop3 before smtp authentication, modify the ; following three lines. do not enable unless it is required. pop3_server=       ← デフォルトのまま空欄 pop3_username=     ← デフォルトのまま空欄 pop3_password=     ← デフォルトのまま空欄 force_sender=hogehoge@dream.com ← 自分のアドレスに修正 5) ブラウザーでの表示 (上記2)のコードを走らせた後) ポートに接続できないとのエラーメッセージ。しかし、6)に記載したThunderbirdからはポート:465からメールを送れている。 i) SMTP:localhost,、SMTPポート:25の場合 Warning: mb_send_mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\test\test_sendmail_2.php on line (mb_sendとしたPHPコードのラインの箇所) 送信失敗 ii) SMTP :smtp.ocn.ne.jp、 SMTPポート:465の場合 Warning: mb_send_mail(): Failed to connect to mailserver at "pop.ocn.ne.jp" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\test\test_sendmail_2.php on line (mb_sendとしたPHPコードのラインの箇所) 送信失敗 6)補足 なお、プロバイダーメールアドレス、PWは念のためローカルPC上にメールソフトを新規にThunderbirdを落とし、設定したところ、溜まっていたプロバイダーメールは全て落ちてきたのでPWに間違いはないことを確認済み。その際、SMTPサーバー名とsmtp_portは自動検出されたので、手打ちはしていない。Thunderbirdでは自動的にSMTPサーバー名:smtp.ocn.ne.jp、ポート:465で設定されていた。 以上よろしくお願いします。説明不足、用語の使い方で適切でない箇所がありましたら、修正、追記します。

  • ローカル環境でのメール送信ができません。

    ローカル環境で、mb_send_mail関数を使用してメールの送信を行いたいのですが、 Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ... というエラーメッセージが表示されてしまいます。 ローカル環境の設定は、 Apache2.0.55 MySQL5.0.15 PHP5.0.5 を使用しており、PHP,MySQLの文字コードはShift_JISで統一しております。 別途メールサーバを導入しないと駄目なのでしょうか?

  • ローカル環境でのメール送信ができません。

    ローカル環境で、mb_send_mail関数を使用してメールの送信を行いたいのですが、 Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ... というエラーメッセージが表示されてしまいます。 動作環境は、 Apache2.0.55 MySQL5.0.15 PHP5.0.5 を使用しており、PHP,MySQLの内部文字コードはShift_JISで統一しております。 別途メールサーバを導入しないと駄目なのでしょうか?

    • ベストアンサー
    • PHP
  • メールを受信で文字化け

    phpでメール送信フォームを作成しています。 ローカルでは上手くいきますが、レンタルサーバーでは受信メールが文字化けをしてしまいます。 いろいろ試しましたが、さっぱりわかりません。 どなたか助けて下さい。 サイトはUTF-8を使用しています。 input用ファイルから下記のsend用ファイルにactionしています。 Content-Typeの指定方法がよくないのでしょうか? <?php ini_set('SMTP','mail.glbl-srv.net'); ini_set('smtp_port','587'); $ini = parse_ini_file('mail.ini'); $headers = <<<HEAD From: {$_POST['from']} Return-Path: {$_POST['from']} //Content-Type: text/html/plain;charset=ISO-2022-JP Content-Type: text/html/plain;charset=UTF-8 HEAD; //$body = "■■{$ini['subject']}■■\n\n"; $body = "■■{$_POST['title']}■■\n\n"; foreach ($_POST as $key => $value) { $body .= "[{$key}] {$value}\n"; } mb_send_mail($ini['mailto'], $ini['subject'].'('.$_POST['title'].')', $body, $headers); //mail($ini['mailto'], $ini['subject'].'('.$_POST['title'].')', $body, $headers); header("Location: ".$ini['dist']); ?>

    • ベストアンサー
    • PHP
  • PHPでメールの送信ができない

    xampp1.8.0環境から PHPのmb_send_mailでメールの送信をしようとしています。 php.ini SMTP = smtp.xxx.ne.jp (プロバイダから指定されてるもの) smtp_port = 25 xampp1.7.7くらいの環境のときは↑の設定のみで送信できたのですが 新しいバージョンに変えてから送れなくなりました。 古いバージョンのphp.iniと差し替えると送信可能になります。 上記の2行以外でメールの設定に関わる部分はありますでしょうか?

    • 締切済み
    • PHP
  • メール送信について

    こんばんは。PHPでmb_send_mailを使ってメールを送信したいのですが、「Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 521 mail not accepted from this domain in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap2\sendmail.php on line 5メール送信に失敗しました。」とエラーが出てしまい上手くできません。 ■PHPスクリプト 1:<?php 2:$to='○○○○○@yahoo.co.jp'; 3:$subject='テストメール'; 4:$body='ようこそ!'; 5:if(mb_send_mail($to,$subject,$body)){ 6: print('メール送信に成功しました。'); 7:} 8:else{ 9: print('メール送信に失敗しました。'); 10:} 11:?> PHP.iniファイルはSMTP=smtp.mail.yahoo.co.jp、sendmail_from=CQW15204nifty.comと設定しております。 参考書通りにやっているのですが、メーラーに送られません。この状態で他に考えられる原因とかありますか?わかる方ぜひ教えてください。

    • 締切済み
    • PHP
このQ&Aのポイント
  • マウスのM-XGM10DBBK/ECがチャタリングしてしまいました。対処方法を教えてください。
  • M-XGM10DBBK/ECのマウスがチャタリングする問題について、情報を求めています。
  • エレコムのM-XGM10DBBK/ECマウスがチャタリングしています。対策方法を教えてください。
回答を見る

専門家に質問してみよう