Отправить электронную почту с помощью .NET - Не так просто

StackOverflow https://stackoverflow.com/questions/1399146

Вопрос

Вот уже около года у меня возникают проблемы при попытке отправлять и получать электронную почту программно с помощью Visual C #.Ни один пример из сотен, которые я нашел в Интернете, никогда не работал.И нет, я не просто копирую и вставляю.Я изучаю код и изменяю / добавляю / удаляю по мере необходимости.

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

Честно говоря, я больше не знаю, что, черт возьми, делать.Документация не содержит для меня никакой полезной информации, потому что ничего из этого никогда не работало.Я дал пример кода другим для использования, и он работает у них - но не у меня!Как это работает?

Я не знаю, зависит ли ОТПРАВКА почты от того, какие настройки безопасности / брандмауэра установлены на моем компьютере, или нет.Но на всякий случай я зашел так далеко, что временно полностью отключил все настройки безопасности и брандмауэра, просто чтобы посмотреть, отправит ли он электронное письмо.

У меня больше нет кода для этого, так как я только начал пытаться сделать это снова, и я был бы очень признателен, если бы кто-нибудь мог помочь мне заставить это работать.

Итак, все, что я пытаюсь сделать, это:

Создайте простую форму с 2 кнопками и текстовым полем.(сделано, конечно) button1 проверяет наличие электронной почты (но отображает только тему и отправителя в окне сообщения, не загружает сообщение) button2 отправляет содержимое TextBox1 в "username@bluebottle.com"

Настройки моего сервера следующие:

Username    username@bluebottle.com
Password    ***********
IMAP/POP Server (Incoming):     mail.bluebottle.com
SMTP Server     (Outgoing):     mail.bluebottle.com

SMTP should be port 25, 26 or 587
POP3 should be port 110, using SSL 995
IMAP should be port 143, using SSL 993


Спасибо, что нашли время почитать.Если я что-то неясно объяснил, пожалуйста, скажите об этом, и я постараюсь придать этому больше смысла для вас.

Это было полезно?

Решение

Не бери в голову.Я только что понял это для себя.Это просто, как 123!или это ABC?Я забыл, как это происходит.В любом случае, если кому-то интересно или нужно знать, как отправлять электронную почту на C #, это то, что сработало для МЕНЯ:


string Sender     = "username@domain.com";

string Username   = "username";
string Password   = "********";

string Recipient  = "username@domain.com";

string Subject    = "Enter subject here.";
string Message    = "Enter message here.";

string Host       = "mail.server.com";
int Port          = 26;

using(MailMessage Mail = 
      new MailMessage(
      Sender,
      Recipient))
using (SmtpClient SmtpMail =
       new SmtpClient(
       Host,
       Port))
{
  Mail.Subject = Subject;
  Mail.Body    = Message;

  SmtpMail.EnableSsl = true;

  SmtpMail.Credentials =
        new System.Net.NetworkCredential(
        Username,
        Password);

  SmtpMail.Send(Mail);
}


Пожалуйста, обратите внимание, что следующее используя директива должна быть объявлена в верхней части документа:

using System.Net.Mail;

Редактировать:Использование шаблонов docos: http://msdn.microsoft.com/en-us/library/yh598w02 (ПРОТИВ 71).aspx

Другие советы

С этого года Microsoft сделала поддержку pop3 и SMTP доступной для всех пользователей Hotmail.

  • Сервер POP3:pop3.live.com (порт 995)
  • SMTP - сервер:smtp.live.com (порт 25) {Примечание:Если порт 25 был заблокирован в вашей сети или вашим интернет-провайдером, вы можете установить для SMTP-порта значение 587 с помощью TLS или SSL Шифрование в зависимости от клиента в использовать}

Подробная информация:http://windowslivehelp.com/solutions/settings/archive/2009/01/06/send-and-receive-windows-live-hotmail-emails-from-a-mail-client.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top