• 締切済み

sendmailでホットメールのSMTP送信

今年からホットメールでのSMTP POP3での送受信が可能になったということで 「eWEB」さんのメールフォームを使用し自宅サーバから送信をしようと思っています。(下記のURLのフォームを使用) http://php.eweb-design.com/1301_mail.html 現在XAMPPで鯖を構築しているのですがホットメールのでSMTPを利用した送信ができません。 C:\xampp\sendmail\sendmail.iniを smtp_server=smtp.live.com smtp_port=587 auth_username=account@hotmail.com auth_password=password C:\xampp\apache\bin\php.iniを SMTP = smtp.live.com smtp_port = 587 のように書き換え「eWEB」さんのフォームを使用したのですが送信ができないようです。 sendmailを利用してホットメールのSMTP送信は何か足りないものがあるのでしょうか? 説明が長くなってしまいましたが、もしお分かりになる方がいましたら宜しくお願いいたします。

noname#96767
noname#96767
  • PHP
  • 回答数1
  • ありがとう数3

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

OSは? php.iniのSMTPの直前にWindowsしか有効でないと書いてあります。 phpで外部SMTPを利用するならPEARのMailを使うとよいです。

noname#96767
質問者

お礼

ISPメールのSMTPを利用した所送信はできました。 ホットメールのSMTP使用で送信すると認証エラー(?)になるようで 送信ができません。 再度よろしくお願いいたします><

noname#96767
質問者

補足

回答ありがとうございます。 久々の質問で使用環境などを忘れてしまいました。 申し訳ございません。 OS:WindowsXP(pro) 回線:光 ISP:U-SEN(OP25B導入済み) PEARの方を試してみたところ同様に送信できないようでした。 (今使用しているソースがおかしいのかもしれませんが・・・) 下記の「Ubuntuで自宅サーバー」さんのソースを使用させていただきました。 http://mycoco.dyndns.org/pear_mail.php 上記のソースで送信を試みたところ authentication failure [SMTP: STARTTLS failed (code: 220, response: 2.0.0 SMTP server ready)] エラーを調べたところ検索にヒットせず問題がわかりませんでした。 何度も申し訳ありませんがよろしくお願いいたします。

関連するQ&A

  • xampp sendmail 設定

    PHP sendmail 設定について すみません、うまく行かないのでご存知方いましたら おしえてください。 sendmailの設定です。。。 環境・php5、xampp1.7、sendmail(xmappに付随) まずはテストでyahooのフリーメールで試してみたいです。 注)まず、契約してる、プロバイダーのSMTPで試すと言う返答はなしでお願いします。 php.ini SMTP = smtp.mail.yahoo.co.jp smtp_port=587 ; For Win32 only. sendmail_from = tes@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" sendmail.ini smtp_server=smtp.mail.yahoo.co.jp smtp_port=587 error_logfile=error.log debug_logfile=debug.log pop3_server=pop.mail.yahoo.co.jp pop3_username=usernm@ pop3_password=pass auth_username=usernm@(実際ログインできるnm) auth_password=pass(実際ログインできるpw) 上記で設定しましたが、うまくいきません。。エラーMSGは得になしえです。 sendmail.iniなしで直接、php.iniに記載するし Mercury起動すると、 php.ini SMTP = smtp.mail.yahoo.co.jp smtp_port=587 error_logfile=error.log debug_logfile=debug.log pop3_server=pop.mail.yahoo.co.jp pop3_username=usernm@ pop3_password=pass auth_username=usernm@(実際ログインできるnm) auth_password=pass(実際ログインできるPW) ; For Win32 only. sendmail_from = tes@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" mb_send_mail() [function.mb-send-mail]: S MTP server response: 530 Sorry, please use SMTP-AUTH instead - for help go to http://help.yahoo.co.jp/help/jp/mail/whatisymail/whatisymail-51.htmlとでます。 解決策、ご存知方いましたら、教えていただけないでしょうか?

    • 締切済み
    • 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で設定されていた。 以上よろしくお願いします。説明不足、用語の使い方で適切でない箇所がありましたら、修正、追記します。

  • 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
  • sendmail_fromについて(xampp)

    いつもお世話になっております。 今回はメールの送信についてなのですが、 メール送信用のフォームをつくり実行してみたのですが以下のエラーが出てしまいます。 Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\sample\mail2.php on line 27 c:/xampp/php/php.ini(およびphp5.ini)を [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ;For Win32 only. sendmail_from = *******@yahoo.co.jp と変更しapacheを再起動して phpinfo()で変更を確認してみたのですが 「sendmail_from    no value no value」 と変更が反映されません。 ここの変更が反映されない限りエラーが出続けてしまうと思うのですが、どうすれば変更が反映されるのでしょうか? 使ってるバージョンは php 5.25 xampp 2.5です。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • SMTPサーバーにてメールの送信

    PHPでメールを送れないかと調べたところさまざまな方法があるようですが、XAMPPにMercuryMailがついていたのでそれを使ってやってみることにしました。 php.iniでは SMTP = localhost smtp_port = 25 の設定でlocalhostにメールを送るとMercuryMailにメールが届くんですが、そこからいざ外に送ろうとなるとうまく遅れないようです。 調べてみたらISPのほうで25番ポートブロックなるものでブロックされるとあることなのでかわりに587ポートで送ることにしました。 しかし、それでもうまく届けることができませんでした。 そこで、リレーをさせて送ろうとyahooのSMTPサーバーとBIGLOBEのSMTPサーバー、2つでためしたのですがやはりどちらも送ることができませんでした。 双方ともちゃんとSMTP_AUTHをつかってIDとPWを入れていますが送ることができませんでした。 環境はXAMPP1.6.6aをつかっており、MercuryMailのバージョンは4.5.2です。 OSはWindows XP Home Edittion ISPはBIGLOBE フレッツ光回線です。 この環境でSMTPサーバーをたてることはできないのでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • xamppとsendmail設定とmailについて

    どなたか、下記の内容で解決に導いてくれる方、居られたらと思い 質問させて頂きました。 xampp1.7.1をインストール osはwindowsxpです。 設置した、cgiやphpからのメールについてなんですが、 php.iniの [mail function] ; For Win32 only. ; http://php.net/smtp ;SMTP = localhost ←コメントアウトする ; http://php.net/smtp-port ;smtp_port = 25 ←コメントアウトする sendmail_path = "\"\xampplite\sendmail\sendmail.exe\" -t" のsendmailのパスのコメントアウトだけをはずしました、 それと sendmail.iniの [sendmail] セクション smtp_server= プロバイダのSMTPサーバ名 smtp_port=587 smtp_ssl=auto default_domain= プロバイダのメールドメイン auth_username= プロバイダのメールアカウント auth_password= 上記メールアカウントのメールパスワード force_sender= 上記アカウントのメールアドレス hostname= test 上記を設定 MarcuryMailでは ・Marcury Coreモジュール DDNSでの設定ドメインを設定。例abc.net ・MarcuryS SMTP abc.netの追加とポート587、smtp-authの設定 ・MarcuryP POP  ユーザーの追加 (例 test@abc.net test2@abc.net ) ・MarcuryC SMTP relaying client プロバイダのsmtpホスト、ポート、smtp認証の設定 の3つのプロトコルモジュールを設定 それから、apacheのルートディレクトリにテストで、  (ServerName abc.net:80)を設定しています。 cgiとphpの各メールフォームを設定しました。(その他にも設置していますけど。。。) 各メールフォームのメール送信元を test@abc.net を設定。 ここからなんですが。。。 ローカル内のクライアントPCのoutlookで test2@abc.net のアカウントを追加、 自分宛てに(test2@abc.net)にメールを送ってみる、正常に届いた。 ローカル内のクライアントPCからの接続で、 cgiとphp共に、アクセスしてsendmailの送信テストを行う、、、 アクセスしたForm画面の、メールアドレスに test2@abc.net を入力して 送信しても、メールが来ない、、、 試しに、再度アクセスしたForm画面の、メールアドレスに サーバーに関連していないドメイン(プロバイダやyahoo,Gmailなどのメールアドレス) を入力して送信すると、正常に届きます。 上記の内容で、sendmailを使ってメール送信した際に、 どうしてMarcuryMailで追加した、ドメイン名でのメールアドレスには メールが来ないのか解りません。。。 どなたか、解決に導いてくれる方、居られませんか。。。 よろしくお願いします。 ------------------------------------------ 上記の内容をまとめました。 ↓↓↓ ●MarcuryMailにabc.netを追加 ●MarcuryMailでアカウント、test@abc.net test2@abc.net を追加 ●php.ini と sendmail.ini を設定 ●apacheのルートディレクトリに、cgi と php のテスト用mailformを設置 ●mailformスクリプトの、送信元メールアドレスに test@abc.netを設定 ●テストでローカル内のクライアントPCのoutlookに test2@abc.net を追加   outlookで test2@abc.netにメール送信、無事メールが届く。 ●設置している、cgiとphpのmailformにアクセス、フォーム画面のメールアドレス欄に、   test2@abc.netを入力後送信してもメールが来ない。 ●再度、設置している、cgiとphpのmailformにアクセス、フォーム画面のメールアドレス欄に、   サーバーに関連していないドメイン(プロバイダやyahoo,Gmailなどのメールアドレス)   を入力して送信すると、正常に届く。 ---------------------------------------------- その他機能は正常に動作しています、その他設置済みのwordpressなど。。

  • sendmailについて

    こんにちは。自分でPHPを使ってフォームを作ったのですが、家のパソコンで送信をするとフォーム情報を受信することはできるのですが、入力した相手に自動返信をすることができません。(会社のサーバーを使った時は自動返信はできました。) フォームの送信ボタンを押すとセキュリティソフトから以下のアラートがでてきます。それが原因でしょうか? ヤフーの送信サーバーでsendmailの設定をしているので自動返信することはできないのでしょうか? わかる方はぜひ教えてください。よろしくお願いします。 ・セキュリティソフトのアラート文 電子メールメッセージを送信できませんでした。 メールサーバーがメッセージを拒否したためです。 451 See http://pobox.com/~djb/docs/smtplf.html ・PHP.iniファイルの設定 [mail function] ; For Win32 only. SMTP = smtp.mail.yahoo.co.jp smtp_port = 25 ; For Win32 only. sendmail_from = xxxxxxx@yahoo.co.jp

    • 締切済み
    • 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
  • ローカル環境でのメール送信

    PHP超初心者です。 ローカル環境でmb_send_mail関数をつかってメール送信をしたいのです が、上手くいきません。 エラーメッセージは Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first n44sm11126503pyh in C:\xampp\htdocs\○○○\○○.php on line 15 とでています。 文字コードはUTF-8で保存しており、 <?php mb_language("ja"); mb_internal_encoding("UTF-8"); $mailto="○○○@○○○.jp"; $subject="タイトル"; $content="内容"; $mailfrom="From:".mb_encode_mimeheader("nicoko")."<○○○@フリーメールアドレス.com>"; mb_send_mail($mailto,$subject,$content,$mailfrom); ?> です。 15行目はmb_send_mail($mailto,$subject,$content,$mailfrom); 色々調べたところ、 (1)SMTP = メールアドレス用のsmtpサーバの設定 (2)smtp_port = 25 (3)sendmail_from = メールアドレス を設定しなおし、 C:\xampp\apache\bin\php.ini C:\xampp\php\php.ini C:\xampp\php\php5.ini C:\xampp\php\php4\php.ini 全ての設定を変更しました。 またphpinfoで確認したところ(1)~(3)まで変更されていました。 (3)はOutlookのメールのアカウント→プロパティを見て サーバー情報→送信メールに○○.○○○.jpと書いてあり、 それをうつしました。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPのメール送信のやり方をご教授ください。

    PHPで以下の様に記述したのですが、メールが届きません。どうしたらメールが届くのかご存知の方はご教授お願い致します。私はPHP初心者です。 <?php if (mb_send_mail("メールアドレス", "テストメール", "これはテストです。", "From: メールアドレス")) { echo "メールが送信されました。"; } else { echo "メールの送信に失敗しました。"; } ?>    メールアドレスの部分は普段使っているアドレスを入力しています。また、php.iniは以下のように変更致しました。 [mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = mail.biglobe.ne.jp smtp_port = 587 username = アカウント名@kmf.biglobe.ne.jp password = パスワード ; For Win32 only. ;http://php.net/sendmail-from sendmail_from = アカウント名@kmf.biglobe.ne.jp アカウント名とパスワードは与えられたものを入力しています。試しにヤフーのsmtpを使っても届きませんでした。

    • ベストアンサー
    • PHP

専門家に質問してみよう