2017-07-12 203 views
1

私はPHPでメールを送信しようとしています。私は解決策を見つけるためにインターネットで見て、私は別の方法を見つけたが、誰も私を助けなかった。私はそれがメールを送信しなければならないコードに来るとき、私はエラー以下だ:SMTPサーバーの応答:530 5.7.57

mail(): SMTP server response: 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [AM4PR08CA0065.eurprd08.prod.outlook.com]"

メールコール:

$mailAdr = "[email protected]"; 
$subject = "subject"; 
$msg = "message!"; 
$header = 'FROM: My WebSite <[email protected]>'; 
mail($mailAdr, $subject, $msg, $header); 

は私が右のSMTPポートを設定します。誰かが私が間違っていることを教えてもらえますか?

+2

エラーメッセージには、SMTPサーバーが認証されていないユーザーからの電子メールを受け入れないことが明確に示されています。あなたはそのサーバー上に電子メールアカウントを持っている必要があります(同じサーバーは通常IMAPまたはPOP3を提供し、サーバーから電子メールを読むのに使用するのと同じユーザー名とパスワードを使用します)。しかし、標準のPHP関数['mail()'](http://php.net/manual/en/function.mail.php)を使用して、このサーバを介して電子メールを送信する方法はありません。メール送信ライブラリ([SwiftMailer](https://swiftmailer.symfony.com)または[PHPMailer](https://github.com/PHPMailer/PHPMailer)f.e.) – axiac

+0

メール送信ライブラリをお勧めしますか? @axiac – NiZelooer

+0

@NiZelooerはSwiftmailerを使用していますが、それでも問題は解決しません。 – Stony

答えて

0

あなたのコードに見当たらないFROMヘッダーを追加する必要があると思います。

<?php 
$header = 'From: My Website <[email protected]>' . "\r\n"; 

mail($empfaenger, $betreff, $nachricht, $header); 
?> 
+0

それが見つからないわけではありません。私はphp.iniに設定しました – NiZelooer

+0

それからエントリーを投稿するか、ヘッダーでテストしてください。通常、メールリクエストにヘッダーを設定する必要があります。 – Stony

+0

なぜあなたはポイントの前に作ったのですか?そしてなぜ最後に '' \ r \ n "'を追加するのですか? – NiZelooer

関連する問題