質問: body }) smtp.send(message); そして私のgmailのa/cに私は本番サーバーからコードを実行した後、私は次のメールを受信しました こんにちは 、 最近、誰かがあなたのパスワードを使ってあなたのgoogleアカウントmymailid@gmail.comにログインしようとしました。この人は、電子メール、クライアント、モバイルデバイスなどのアプリケーションを使用していました。 これがアカウントへのアクセスを試みるハイジャック犯である場合に備えて、サインインの試みを阻止しました。サインイン試行の詳細を確認してください。 2014年1月3日、金曜日13:56:08 utcのipアドレス:xxx.xx.xx.xxx(abcd.net。)場所:philadelphia pa、フィラデルフィア、pa、アメリカ このサインインの試みを認識しない場合は、他の誰かがあなたのアカウントにアクセスしようとしている可能性があります。あなたはあなたのアカウントにサインインしてそしてあなたのパスワードをすぐにリセットするべきです。 パスワードを再設定する これであなたのアカウントにアクセスできない場合は、 http://support.google.com/mail?p=client_login に記載されているトラブルシューティング手順を実行してください。 よろしくお願い申し上げます。googleアカウントチーム
回答: 今日ここで数時間かけてここですべての解決策を試してみた後、私はまだこの正確なエラーを乗り越えることができませんでした。私はこのようにして何度もgmailを使ったことがあるので、それが愚かなものであることを知っていましたが、私は何も問題を解決しませんでした。私はついに自分のケースで解決策を見つけましたので、私は共有すると思いました。まず、上記の答えのほとんども必要ですが、私の場合は、smtpclientクラスを作成しながらコードを順序付けるという単純な問題でした。以下のこの最初のコードスニペットで、 "credentials = creds"行がどこにあるかに注目してください。この実装では、他にすべて適切に設定されている場合でも、この質問で参照されているエラーが発生します。system.net.mail.smtpclient client = new system.net.mail.smtpclient { host = emailer.host, port = emailer.port, credentials = creds, enablessl = emailer.requiressl, usedefaultcredentials = false, deliverymethod = system.net.mail.smtpdeliverymethod.network } ただし、認証情報設定コールを下に移動すると、電子メールはエラーなしで送信されます。私は周囲のコードに変更を加えませんでした...すなわち...ユーザ名/パスワードなど。明らかに、enablessl、usedefaultcredentials、またはdeliverymethodは最初に設定されている資格に依存します。それがどれであるかを理解するためのすべて。system.net.mail.smtpclient client = new system.net.mail.smtpclient { host = emailer.host, port = emailer.port, enablessl = emailer.requiressl, usedefaultcredentials = false, deliverymethod = system.net.mail.smtpdeliverymethod.network, credentials = creds } これが将来他の誰かの頭痛の種を救うのに役立つことを願っています。