Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2014, 13:25   #1
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Сообщений: 153
По умолчанию отправка мейла

private void SendMailBtn_Click(object sender, EventArgs e)
{
string from = "адрес мыла откуда отправляем";
string To = this.txtBoxMail.Text;
string Title = this.txtBoxTitle.Text;
string Message = this.txtBoxMessage.Text;
string password = "пароль от аккаута";

try
{
MailMessage mail = new MailMessage(new MailAddress(from), new MailAddress(To));
mail.Subject = Title;
mail.Body = Message;
SmtpClient client = new SmtpClient();
NetworkCredential credential = new NetworkCredential(from, password);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.Send(mail);
mail.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
в чем ошибка?
мне выдаёт smtp сервер требует защищенное подключение..........
зарание спасибо
больше знаю, лучше сплю)
nwhta вне форума Ответить с цитированием
Старый 14.11.2014, 13:36   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы создали
Цитата:
Код:
NetworkCredential credential = new NetworkCredential(from, password);
но SmtpClient'у не дали их.
Код:
client.Credentials = new NetworkCredential(from, password);
Цитата:
Код:
try
{
...
    mail.Dispose();
}
А если Exception выпал до этого? try finally или using для такого есть. http://msdn.microsoft.com/en-us/library/yh598w02.aspx
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.11.2014 в 13:46.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2014, 13:47   #3
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вы создали

но SmtpClien'у не дали их.
Код:
client.Credentials = new NetworkCredential(from, password);

А если Exception выпал до этого? try finally или using для такого есть. http://msdn.microsoft.com/en-us/library/yh598w02.aspx
NetworkCredential credential = new NetworkCredential(from, password);
а это не передаёт переменные smtp-клиенту?
больше знаю, лучше сплю)
nwhta вне форума Ответить с цитированием
Старый 14.11.2014, 13:51   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это создает объект NetworkCredential и кладет ссылку на него в credential, но клиенту никто на него не указал.
Код:
client.Credentials = credential;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2014, 14:11   #5
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Это создает объект NetworkCredential и кладет ссылку на него в credential, но клиенту никто на него не указал.
Код:
client.Credentials = credential;
понял ошибку спасибо
больше знаю, лучше сплю)
nwhta вне форума Ответить с цитированием
Старый 14.11.2014, 19:42   #6
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Сообщений: 153
По умолчанию

string from = "аккаунт";
string To = this.txtBoxMail.Text;
string Title = this.txtBoxTitle.Text;
string Message = this.txtBoxMessage.Text;
string password = "пароль";

try
{
MailMessage mail = new MailMessage(new MailAddress(from), new MailAddress(To));
mail.Subject = Title;
mail.Body = Message;
SmtpClient client = new SmtpClient();
NetworkCredential credential = new NetworkCredential();
credential.UserName = from;
credential.Password = password;
client.Credentials = credential;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.Send(mail);
mail.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
MessageBox.Show("Mail was sent!");
}
}
пишет ошибку что серверу требовалось smtp подключение.
скажите пожалуйста что не так делаю.............
больше знаю, лучше сплю)
nwhta вне форума Ответить с цитированием
Старый 14.11.2014, 19:55   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
что не так делаю
  • Не используете тег [CODE][/CODE] (кнопка с решеткой) для вставки кода на форум
  • Не поняли про вышеупомянутые try finally или using для Dispose
  • Раз уж MailMessage диспозите, то чего про SmtpClient забыли? Он тоже IDisposable.

Цитата:
пишет ошибку что серверу требовалось smtp подключение.
Весь текст ошибки покажите.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2014, 20:15   #8
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
  • Не используете тег [CODE][/CODE] (кнопка с решеткой) для вставки кода на форум
  • Не поняли про вышеупомянутые try finally или using для Dispose
  • Раз уж MailMessage диспозите, то чего про SmtpClient забыли? Он тоже IDisposable.


Весь текст ошибки покажите.
это вы так помогаете ошибки в коде найти? хороший метод)))
объясняйте лучше пожалуйста...............
а насчет тега я искал но не увидел, понял про using но он вроде совсем не то делает чтобы разрешить проблему, а 3 сделал но опять же проблему это не решает
больше знаю, лучше сплю)
nwhta вне форума Ответить с цитированием
Старый 14.11.2014, 20:44   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык и где
Цитата:
Весь текст ошибки
?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2014, 20:56   #10
nwhta
Форумчанин
 
Регистрация: 30.08.2013
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Дык и где
?
http://s017.radikal.ru/i434/1411/91/74f6f41b3300.png
больше знаю, лучше сплю)
nwhta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка сообщений Vzlom C++ Builder 0 05.09.2013 17:14
Отправка писем alcohol40 ASP.NET 0 23.09.2012 06:45
отправка письма joker Win Api 0 14.02.2009 10:46