EDIT: Super Redux Version
Попробуйте порт 587 вместо 465. Порт 465 технически не рекомендуется.
После того, как я понял, что пакет обнюхивает пакет. Во-первых, вот короткий ответ:
.NET SmtpClient
поддерживает только шифрование через STARTTLS. Если установлен флаг EnableSsl
, сервер должен ответить на EHLO с помощью STARTTLS, иначе он выдает исключение. Дополнительную информацию см. В документации MSDN .
Во-вторых, быстрый урок истории SMTP для тех, кто наткнется на эту проблему в будущем:
Назад в день, когда услуги хотели также предлагать шифрование, им был назначен другой номер порта, и на этом номере порта они немедленно инициировали SSL-соединение. Со временем они поняли, что глупо тратить два номера портов на одну услугу, и они разработали способ предоставления сервисов для обеспечения открытого текста и шифрования в том же порту с использованием STARTTLS. Коммуникация начнет использовать открытый текст, а затем используйте команду STARTTLS для обновления до зашифрованного соединения. STARTTLS стал стандартом для шифрования SMTP. К сожалению, как всегда бывает, когда новый стандарт реализован, существует мешанина совместимости со всеми клиентами и серверами.
В моем случае мой пользователь пытался подключить программное обеспечение к серверу который заставлял немедленное соединение SSL, которое является унаследованным методом, который не поддерживается Microsoft в .NET.