
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と書いてあり、
それをうつしました。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
エラーメッセージに SMTP server response: 530
と出ていることから 何らかの理由でSMTPサーバからアクセスを拒否されています。
多くの場合、STMPサーバーの不正中継防止(SPAM中継)対策に引っかかっている可能性が高いです。他にサーバ側のパーミッション設定ミスなどが考えられますがoutlook等で送信できているのならそれは無いでしょう。
ユーザ側の設定不備の例を下記に示します。
・認証が必要なSMTPサーバーなのに、認証処理をしないで送信しようとした。
・FROM欄のドメインとしてSMTPサーバーが許可しているものを利用していない・
多くのISPは、自社が管理しているドメイン名以外からの送信を許可していません。(FROM に使用されている@以降の文字列をチェック)
回答ありがとうございます。
試行錯誤の結果、ポートがあいてないのがわかりました。
まだ、メールは送れていませんが、なんとかなりそうです。
詳しいことが聞けて感謝しております。
ありがとうございました。
No.1
- 回答日時:
メールサーバーを構築していない限りメールは送信できませんが
>(1)SMTP = メールアドレス用のsmtpサーバの設定
↑これは何を設定したんでしょうか?
PHP超初心者でしたら
レンタルサーバーなどを借りてメール送信テストなどをされた方がいいと思いますよ。
この回答への補足
回答ありがとうございます。
>(3)はOutlookのメールのアカウント→プロパティを見て
>サーバー情報→送信メールに○○.○○○.jpと書いてあり、
>それをうつしました。
上記の内容は(1)のことでした。かき間違いをしました。
申し訳ありません。
(3)は$mailtoに書いているメールアドレスを入力しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでメール送信できません 原...
-
PHPで、一度に大量のメールの送...
-
さくらサーバーにて、phpからメ...
-
PHPでmailもしくはmb_send_mai...
-
phpでmb_send_mailを用いてメー...
-
phpのheader("Location:#pos")...
-
*.php、*.php3、*.phtmlの違い
-
phpのextension_dirを複数指定...
-
PHP PDOライブラリが読み込まれ...
-
header(Location:~)で$_SESS...
-
<A href ~ と一緒に値を渡すには
-
さくらインターネットでメール...
-
【PHP】tmp_nameの命名規約につ...
-
php4とphp5での数値の取り扱い...
-
テレメールとは?
-
PHPでメールを受信するには?
-
データ送信をボタンを押さずに...
-
PEAR(Image_QRCode)のエラー
-
Apache 2.4でphp-5.3を使いたい...
-
セッションについての設定なの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 添付ファイルをつけてメー...
-
さくらサーバーにて、phpからメ...
-
mb_send_mail でスパム扱いとなる
-
XAMPPでPHPのmb_send_mailが動...
-
excel VBAでメールを送る方法に...
-
ワードプレス 予約システム
-
phpでのメール転送(添付ファイ...
-
mb_send_mail関数が利用出来ない
-
PHPからメールを送る@さくらイ...
-
mb_send_mail内でif文を使いた...
-
指定した時間にPHPプログラムを...
-
phpでのメール送信
-
mail関数を使った場合のReturn-...
-
サーバーによってはmb_send_mai...
-
複数行の文字列をメールのヘッ...
-
if( mb_send_mail( ・・・) ) {...
-
ローカル環境でのメール送信
-
PHPからのメールがこない
-
mail関数に送信について
-
メール受信 件名が文字化け
おすすめ情報