25

PHP Swiftメーラーを使用してこのサーバーに電子メールを送信すると:smtp.exchange.example.com次のようになります。

// Load transport
$this->transport =
    Swift_SmtpTransport::newInstance(
       self::$config->hostname,
       self::$config->port
    )
    ->setUsername(self::$config->username)
    ->setPassword(self::$config->password)
    ;

// Load mailer
$this->mailer = Swift_Mailer::newInstance($this->transport);

// Initialize message
$this->message = Swift_Message::newInstance();

// From
$this->message->setFrom(self::$config->from);

// Set message etc. ...

// Send
$this->mailer->send($this->message);

奇妙なエラーが返されます:

2つの可能なオーセンティケーターを使用したユーザー名「user@example.com」のSMTPサーバーでの認証に失敗しました

login-infoが正しいことは確かです。

4

13 に答える 13

32

これは古いかもしれませんが、誰かがこれを通して助けを得るかもしれません。私も同じ問題に直面し、誰かがメールクライアントまたは別のサイトを介してあなたのアカウントをハッキングしようとしているというメールをGmailアカウントで受け取りました。検索したところ、以下を実行するとこの問題が解決することがわかりました。

https://accounts.google.com/UnlockCaptcha </a>にアクセスし、他のメディア/サイトからアクセスできるようにアカウントのロックを解除します

更新:2015

また、これを試すことができます。https://myaccount.google.com/security#connectedappsにアクセスしてください 。下部の右側に、[安全性の低いアプリを許可する]オプションがあります。「OFF」の場合は、ボタンをスライドさせてONにしてください。

更新:2021

GoogleのURLがhttps://myaccount.google.com/lesssecureappsに変更されました。再ログインするように求められます

于 2013-12-18T11:26:57.003 に答える
12

同じ問題が発生したため、WHMルートログインの1つの設定を無効にしました。これは次のとおりです。

WHM>ホーム>サーバー構成>設定の調整>送信SMTPをroot、exim、およびmailmanに制限する(FKA SMTP Tweak)[?]

于 2017-11-11T14:52:46.043 に答える
8

私は本当に同じ問題を抱えています、ついに私はそれを解決しました。

SwiftMailの問題ではないようです。これはYamlパーサーの問題です。パスワードが数字のみの場合、パスワードsenmdは最終的に同じものではありません。

swiftmailer:
    transport:  smtp
    encryption: ssl
    auth_mode:  login
    host:       smtp.gmail.com
    username:   your_username
    password:   61548921

二重引用符のパスワードで修正する必要があります: "61548921"

于 2013-04-25T19:04:50.037 に答える
4

同じエラーが発生しました。

奇妙なことは、クレデンシャルの行にコメントしたことです

// ->setUsername(self::$config->username)
// ->setPassword(self::$config->password)

そして、問題は消えました。

メールサーバーは間違いなくそれらの資格情報を必要とするので、私は困惑しています。

于 2012-10-16T19:19:51.100 に答える
2

サーバーは、ある種の暗号化と安全な認証を必要とする場合があります。http://swiftmailer.org/docs/sending.html#encrypted-smtp
を参照してください

于 2010-08-23T12:42:53.620 に答える
2

ここに記載されている可能性のあるほとんどすべての提案を試しましたが、Googleアカウントの[セキュリティ設定]タブで[安全性の低いアプリへのアクセス]を[有効]に変更すると、問題は解決しました。これが他の人にも役立つことを願っています!

于 2014-10-17T17:01:15.000 に答える
1

ユーザー名を二重引用符で囲んだ「username」に入れてみてください。どういうわけかそれは私のために修正されました。

于 2014-01-30T21:29:06.923 に答える
0

おそらく間違ったユーザー名を使用しています。

同様のエラーが発生しました。サーバーにログインするときに大文字を使用していないことを確認してください。

例:JacekPL@lala.pl

を使用する->setUsername('JacekPL')と、エラーが発生する可能性があります。->setUsername('jacekpl')代わりに使用してください。これで私の問題は解決しました。

于 2012-10-29T10:40:46.527 に答える
0

同じエラーが発生しました。

GmailアカウントとGoogleのSMTPサーバーを使用してメールを送信していました。この問題は、SMTPサーバーが私のWebホスト(私が電子メールを送信した)を侵入者と見なしたために承認を拒否したことが原因でした。

私はGoogleのプロセスに従って、自分のWebホストを自分のアカウントを介して電子メールを送信するための有効なエンティティとして識別し、問題は解決しました。

于 2013-05-01T12:52:14.397 に答える
0

私は同じ問題に直面し、それを解決しました。最初にGmailアカウントに手動でログインしてみてください。この問題は、Gmailアカウントが悪用されていることをGoogleが検出したことが原因です。たとえば、短期間に大量のメールを送信します。

于 2013-06-27T04:01:28.440 に答える
0

まず、接続に問題があり、SMTPサーバーにアクセスできるかどうかを確認します。

ターミナルタイプ:

telnet servername portnumber 

220応答を受信した場合は、SMTPサーバーに到達でき、接続の問題はありませんが、サーバーへの接続に失敗した場合は、ネットワークの問題を確認してください。

サーバーに認証が必要な場合は、ユーザー名とパスワードを使用してサーバーで認証を試み、問題が発生していないかどうかを確認してください。

最後に、サーバーに暗号化が必要かどうかを確認し、必要な場合は、opensslやその他のものが正しく構成されているかどうかを確認します。

于 2013-08-26T05:31:54.543 に答える
0

あなたがあなたの地元の環境からメールを送ろうとしているなら、例えば。XAMPPまたはWAMPの場合、このエラーは毎回発生します。先に進んで、Webホスティングまたは本番環境で使用しているもので同じコードを試してください。

また、グーグルからの2段階認証が問題になる可能性があります。

于 2015-04-26T23:55:46.960 に答える
-7

奇妙なことに、メールの送信は再び機能します。私たちは何も変更しませんでした、そしてホストは彼らも変更しなかったと言います。サーバーが再起動するかそこらだと思います。不思議です:S

于 2010-08-25T12:17:28.963 に答える