エラーログ取得方法
STMP情報を設定した後に下記コードを入れる。
デバックレベル:3
$mail->SMTPDebug = 3;
// ログに出力させる場合
$mail->Debugoutput = function($str, $level){
error_log(“debug level $level; message: $str”, 3, ‘error.log’);
};
PHPMailerのSMTPデバッグレベル:
SMTP::DEBUG_OFF (0)
:- デバッグを無効にします。
- これはデフォルト設定であり、デバッグ情報を出力しません。
- 本番環境では、この設定を使用してください。
SMTP::DEBUG_CLIENT (1)
:- クライアント(PHPMailer)からサーバーへ送信されるメッセージを出力します。
- 送信されたコマンドやデータを確認できます。
SMTP::DEBUG_SERVER (2)
:- クライアントからサーバーへ送信されるメッセージと、サーバーからクライアントへ返信されるメッセージの両方を出力します。
- SMTP通信の全体像を把握できるため、最も有用な設定です。
- 認証の失敗やサーバー応答のエラーなどを確認するのに役立ちます。
SMTP::DEBUG_CONNECTION (3)
:- レベル2の情報に加えて、初期接続に関する詳細情報(TLS/SSLハンドシェイクなど)を出力します。
- STARTTLSの失敗など、接続に関する問題を診断するのに役立ちます。
SMTP::DEBUG_LOWLEVEL (4)
:- レベル3の情報に加えて、非常に詳細な低レベルの情報(ソケット通信など)を出力します。
- SMTP通信自体のデバッグではなく、低レベルのネットワーク問題を診断する場合にのみ使用してください。
- 非常に冗長な出力になるため、通常の使用では推奨されません。
ロリポップ SMTP接続できない/送信エラー
メールサーバー情報
POP メールサーバー pop.lolipop.jp (ポート番号: 995)
IMAP メールサーバー imap.lolipop.jp (ポート番号: 993)
SMTP メールサーバー smtp.lolipop.jp (ポート番号: 465)
メールソフトで設定しても接続できないとエラーになる
ロリポップ SMTP エラーログ
debug level 2; message: SERVER -> CLIENT: 535 5.7.0 Authentication failed.
:
- SMTPサーバーが認証に失敗したことを通知しています。
debug level 1; message: SMTP ERROR: Username command failed: 535 5.7.0 Authentication failed.
:
- PHPMailerが認証失敗のエラーメッセージを表示しています。
debug level 3; message: SMTP Error: Could not authenticate.
:
- PHPMailerが認証に失敗したことを示しています。
debug level 1; message: CLIENT -> SERVER: QUIT
:
- PHPMailerが
QUIT
コマンドを送信し、接続を終了しようとしています。
debug level 2; message: SERVER -> CLIENT:
:
- サーバーが
QUIT
コマンドに返答がありません。
debug level 1; message: SMTP ERROR: QUIT command failed:
:
- PHPMailerがQUITコマンドが失敗したことを示しています。
debug level 3; message: Connection: closed
:
- SMTPサーバーとの接続が閉じられました。
debug level 3; message: SMTP Error: Could not authenticate.
:
- PHPMailerが認証に失敗したことを示しています。
ロリポップ SMTP 送信できない 主な問題点
- 認証失敗 (
535 5.7.0 Authentication failed.
):- SMTPサーバーが提供された認証情報を拒否しています。
- これは、ユーザー名、パスワード、または認証方式が間違っている可能性があります。
- QUITコマンドの失敗:
- サーバーがQUITコマンドに返答していません。
考えられる原因と対処法:
- ユーザー名またはパスワードの誤り:
- ユーザー名とパスワードを再確認してください。
- 認証方式の誤り:
- CRAM-MD5認証がサーバーでサポートされているか確認してください。
- PLAINまたはLOGIN認証を試してみてください。
- サーバー設定の問題:
- SMTPサーバーの設定を確認してください。
- ロリポップのサポートに問い合わせて、SMTP設定を確認してください。
- ファイアウォールまたはセキュリティソフト:
- ファイアウォールまたはセキュリティソフトがSMTP接続をブロックしていないか確認してください。
- SSL/TLSの問題:
- 証明書の検証で問題が発生している可能性があります。
SMTPOptions
の設定を確認してください。
- 証明書の検証で問題が発生している可能性があります。
このログから、認証に失敗していることが明確にわかります。まずは、ユーザー名とパスワードを再確認し、認証方式を変更して試してみてください。それでも問題が解決しない場合は、ロリポップのサポートに問い合わせることをお勧めします。
- メールソフトでもSMTPに接続できないエラーになっていて、メールアカウント3つで試しても同様。
- webメールは使用できるため、メールアドレスやパスワードの間違いではない。
サーバー側に原因があると判断して、ロリポップは断念
ジンドゥー(Jimdo)SMTP 送信エラー
ジンドゥー(Jimdo)メールサーバー情報
プロトコル | ホスト名 | ポート番号 |
---|---|---|
IMAP(受信) | secure.emailsrvr.com | 993 |
POP3(受信) | secure.emailsrvr.com | 995 |
SMTP(送信) | secure.emailsrvr.com | 465,587,8025 |
ジンドゥー(Jimdo)SMTP 送信エラー ログ
debug level 1; message: CLIENT -> SERVER: .
:
- PHPMailerがメール本文の終了を通知しています。
debug level 2; message: SERVER -> CLIENT: 550 5.1.0 Sender is not allowed to send from gmail.com (R2)
:
- SMTPサーバーが送信者のメールアドレス(
xxxxxxxxxx@gmail.com
)が許可されていないことを通知しています。
debug level 1; message: SMTP ERROR: DATA END command failed: 550 5.1.0 Sender is not allowed to send from gmail.com (R2)
:
- PHPMailerがメール送信失敗のエラーメッセージを表示しています。
debug level 3; message: SMTP Error: data not accepted.
:
- PHPMailerがメールデータが受け付けられなかったことを示しています。
SMTPサーバーに接続できて、メール本文など送信できている。
ジンドゥー(Jimdo)SMTP 送信できない 主な問題点
- 送信者のメールアドレスが許可されていない (
550 5.1.0 Sender is not allowed to send from gmail.com (R2)
):- SMTPサーバー(
secure.emailsrvr.com
)は、gmail.com
ドメインからの送信を許可していません。 - これは、サーバーが特定のドメインからの送信を制限しているか、送信者のメールアドレスが設定と一致していない可能性があります。
- SMTPサーバー(
考えられる原因と対処法:
- 送信者のメールアドレスの誤り:
- 送信者のメールアドレスが
secure.emailsrvr.com
で許可されているか確認してください。 secure.emailsrvr.com
のメールアカウントを使用する必要があります。
- 送信者のメールアドレスが
- サーバー設定の問題:
- SMTPサーバーの設定を確認してください。
- ロリポップのサポートに問い合わせて、送信者のメールアドレスに関する制限を確認してください。
- ドメイン認証の問題:
- 送信者のドメイン認証(SPF、DKIM、DMARC)が設定されているか確認してください。
このログから、送信者のメールアドレスが許可されていないことが明確にわかります。まずは、secure.emailsrvr.com
のメールアカウントを使用するように変更し、それでも問題が解決しない場合は、ロリポップのサポートに問い合わせることをお勧めします。
送信アドレスをジンドゥー以外のものは使えない仕様なのでしょうか?
他のアドレスでは未確認。
ジンドゥー(Jimdo)のメールアドレスに設定して、送信はOK!
