Отправка электронного письма через Gmail сервер SMTP с C#

Да, используя Java-взаимодействие, вы можете делать все что угодно. См. Этот пример: https://github.com/intuit/karate/tree/master/karate-netty#consumer-provider-example

238
задан Community 23 May 2017 в 01:47
поделиться

4 ответа

CVertex, удостоверьтесь, что рассмотрели свой код, и, если это ничего не показывает, отправьте его. Я просто включал это на тесте сайт ASP.NET, я продолжал работать, и он работает.

На самом деле в какой-то момент у меня была проблема о моем коде. Я не определил его, пока я не имел более простую версию на консольной программе и видел, что это работало (никакое изменение на стороне Gmail, поскольку Вы волновались по поводу). Ниже работ кода точно так же, как образцы Вы упомянули:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("myusername@gmail.com", "mypwd"),
                EnableSsl = true
            };
            client.Send("myusername@gmail.com", "myusername@gmail.com", "test", "testbody");
            Console.WriteLine("Sent");
            Console.ReadLine();
        }
    }
}

Я также получил его работа с помощью комбинации web.config, http://msdn.microsoft.com/en-us/library/w355a94k.aspx и кода (потому что нет никакого соответствия EnableSsl в конфигурационном файле :().

289
ответ дан Peter Mortensen 23 November 2019 в 03:21
поделиться

Проблема не в технической возможности отправки через Gmail. Это работает в большинстве ситуаций. Если вы не можете получить машину для отправки, это обычно происходит из-за того, что машина хотя бы один раз не была аутентифицирована человеком на панели управления.

Проблема, с которой сталкивается большинство пользователей, заключается в том, что Google решает изменить исходящие ограничения все время. Вы всегда должны добавлять в свое решение защитный код. Если вы начали видеть ошибки, уменьшите скорость отправки и просто прекратите отправку на некоторое время. Если вы продолжите попытки отправить, Google иногда будет добавлять дополнительное время к вашему периоду задержки, прежде чем вы сможете отправить его снова.

В моей нынешней системе я отправлял каждое сообщение с задержкой в ​​1,5 секунды. Затем, если я получу какие-либо ошибки, остановитесь на 5 минут, а затем начните снова.

9
ответ дан 23 November 2019 в 03:21
поделиться

Еще я обнаружил, что вы должны изменить свой пароль. Хотя бы один раз. И попробуйте использовать пароль безопасного уровня (не используйте в качестве пароля того же пользователя, 123456 и т. Д.)

4
ответ дан 23 November 2019 в 03:21
поделиться

Я столкнулся с той же ошибкой ( «SMTP-серверу требуется безопасное соединение, или клиент не был аутентифицирован. Ответ сервера был: 5.5.1 Требуется аутентификация. Подробнее см.« ») и выяснил что я использовал неправильный пароль. Я исправил учетные данные для входа, и они отправлены правильно.

Я знаю, что это поздно, но, возможно, это поможет кому-то другому.

4
ответ дан 23 November 2019 в 03:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: