Отправить электронную почту с помощью .NET - Не так просто
Вопрос
Вот уже около года у меня возникают проблемы при попытке отправлять и получать электронную почту программно с помощью 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