ankitpsaraogi Ответов: 6

Отправка электронной почты с помощью SMTP в C#


using System.Net;
using System.Net.Mail;
OpenFileDialog dlg = new OpenFileDialog();
 private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            string filename = dlg.FileName;
 
            try
            {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
 
                mail.From = new MailAddress("me@mydomain.com");
                mail.To.Add("u@urdomain.com");
                mail.Subject = filename;
                mail.Body = "Report";
                Attachment attachment = new Attachment(filename);
                mail.Attachments.Add(attachment);
 
                SmtpServer.Port = 25;
                SmtpServer.Credentials = new System.Net.NetworkCredential("me", "password");
                SmtpServer.EnableSsl = true;
 
                SmtpServer.Send(mail);
            }




Эти коды отлично работают для меня, однако я могу отправлять только обычный текст по электронной почте. Как отправить письмо по электронной почте с помощью функции форматирования, как полужирный курсив изменение цвета и т. д., В почта Yahoo!. Также Мне нужен код RichTextBox для включения всех таких кнопок.

пожалуйста, помогите.

Member 8968685

этот код не работает в моей системе ... я получаю какое-то исключение...
может ли кто-нибудь pls помочь мне.. исключение, которое я получил, это:
Системы.Нет.Почте.SmtpException было обработано
Сообщение="сбой отправки почты."
исходная система"
Трассировка стека:
в System.Net.Mail.SmtpClient.Отправить(сообщение MailMessage)
в отправка электронных писем отключена.Форма form1.обработчика button1_click(объект отправителя, EventArgs В Е) в C:\Users\xrih\Documents\Visual студия 2008\проекты\отправка электронных писем отключена\отправка электронных писем отключена\форму form1.CS:линия 65
в системе.Окна.Формы.Контроль.OnClick(EventArgs e)
в системе.Окна.Формы.Кнопка.OnMouseUp(MouseEventArgs mevent)
в системе.Окна.Формы.Контроль.WmMouseUp(Message& m, кнопка MouseButtons, Int32 клика)
в системе.Окна.Формы.Контроль.WndProc(сообщение& m)
в системе.Окна.Формы.ButtonBase.WndProc(сообщение& m)
в системе.Окна.Формы.Кнопка.WndProc(сообщение& m)
в системе.Окна.Формы.Контроль.ControlNativeWindow.WndProc(сообщение& m)
в системе.Окна.Формы.Родное окно.DebuggableCallback(hwnd элемента указателя IntPtr, int32 и глутамат натрия, указателя IntPtr параметр wparam, указателя IntPtr lparam должен)
в системе.Окна.Формы.Небезопасные методы.DispatchMessageW(MSG& msg)
в системе.Окна.Формы.Приложение.ComponentManager.Система.Окна.Формы.Небезопасные методы.IMsoComponentManager.FPushMessageLoop(dwComponentID типа int32, int32 и причина, типа int32 pvLoopData)
в системе.Окна.Формы.Приложение.ThreadContext.RunMessageLoopInner(Int32 причина, контекст ApplicationContext)
в системе.Окна.Формы.Приложение.ThreadContext.RunMessageLoop(Int32 причина, контекст ApplicationContext)
в отправка электронных писем отключена.Программы.Main() в C:\Users\xrih\Documents\Visual студия 2008\проекты\отправка электронных писем отключена\отправка электронных писем отключена\программы.CS:линия 18
в системе.Домен приложений._nExecuteAssembly(монтаж, string[] аргументы)
в корпорации Microsoft.VisualStudio.Хостингпроцесс.HostProc.RunUsersAssembly()
в системе.Нарезание резьбы.Параллельном режиме.Выполнения(в параллельном режиме параллельном режиме, ContextCallback обратного вызова, состояние объекта)
в системе.Нарезание резьбы.ThreadHelper.ThreadStart()
Свойство Innerexception: Система.Нет.Исключения webexception
Сообщение="не удается подключиться к удаленному серверу"
исходная система"
Трассировка стека:
в System.Net.ServicePoint.Метод getconnection(PooledStream PooledStream, владелец объекта, логическое асинхронный, IP-адрес&усилитель; адрес, гнездо&ампер; abortSocket, гнездо&ампер; abortSocket6, типа int32 время ожидания)
в System.Net.PooledStream.Активировать(объект owningObject, логическое асинхронный, типа int32 время ожидания, GeneralAsyncDelegate объект asynccallback)
в System.Net.PooledStream.Активировать(Object owningObject, GeneralAsyncDelegate asyncCallback)
в System.Net.ConnectionPool.Метод getconnection(объект owningObject, GeneralAsyncDelegate объект asynccallback, типа int32 creationTimeout)
в System.Net.Mail.SmtpConnection.GetConnection(String host, порт Int32)
в System.Net.Mail.SmtpClient.Отправить(сообщение MailMessage)
Свойство Innerexception: Система.Нет.Розетки.Исключения socketexception
Сообщение="соединение не удалось установить, так как целевая машина активно отказалась от него 173.194.67.109:25"
исходная система"
Код ошибки=10061
NativeErrorCode=10061
Трассировка стека:
в System.Net.Sockets.Разъем.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
в System.Net.ServicePoint.ConnectSocketInternal(логическое connectFailure, разъем С4, С6 гнездо, гнездо&ампер; гнездо, IP-адрес&усилитель; Адрес, Государственный ConnectSocketState, объекта iasyncresult asyncresult, к, int32 значение времени ожидания, исключением&амп; исключение)
Свойство innerexception:

6 Ответов

Рейтинг:
52

Sergey Alexandrovich Kryukov

Я тоже надеюсь. Мой 5.
--СА

thatraja

5!

Anuja Pawar Indore

Мой 5-й

Suresh Chand Saini

как отправить почтовый код

Рейтинг:
40

Sergey Alexandrovich Kryukov

В принципе, вам нужна многокомпонентная электронная почта; и одна или несколько частей могут быть HTML. Или RTF, который я бы не рекомендовал. Для электронной почты тип контента должен быть следующим: Content-Type: multipart/alternative или multipart/mixed Для каждой части тип содержимого должен быть допустимым типом MIME, например text/html.

Пожалуйста смотрите:
http://en.wikipedia.org/wiki/MIME[^],
http://en.wikipedia.org/wiki/HTML_email[^].

Отправка электронной почты в .NET:
http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx[^].

Для более сложных случаев, когда одна часть может ссылаться на другую часть, например на изображение, на которое ссылается HTML, см. мой недавний ответ:
Отправка HTML-вложения с изображениями[^].

В исходном коде этой статьи также показано, как создавать составные электронные письма с помощью C#.

Пожалуйста также ознакомьтесь с этой статьей CodeProject:
Отправка электронной почты в C# с вложениями или без них: общая процедура.[^].

—СА


thatraja

5!

Sergey Alexandrovich Kryukov

Спасибо тебе, Раджа.
--СА

Рейтинг:
30

hasnainbhai

Смотрите пример здесь

http://forums.asp.net/t/971802.aspx[^]


Member 10665816

Наконец-то кто-то знает, как это сделать! Спасибо.

Рейтинг:
2

hussainahmedshasmi

пробовать
{

MailMessage Msg = новый MailMessage();
Глутамат натрия.From = новый почтовый адрес(txtTo.Text);
Сообщение.Для.Добавить("hussainahmedshamsi@hotmail.com");
Сообщение.Тема = txtSubject.Текст;
Глутамат натрия.Body = txtMessage.Текст;
SmtpClient smtp = новый SmtpClient();
протокол SMTP.Хозяин = "smtp.gmail.com";
протокол SMTP.Порт = 587;
протокол SMTP.Учетные данные = новый система.Нет.А networkcredential("hshamsi.knysys@gmail.com", "Hussain_ahmed");
протокол SMTP.EnableSsl = true в;
протокол SMTP.Послать(Сообщение);

}

поймать (исключение бывший)
{
Приставка.WriteLine("{0} исключение поймано.", ex);
}
}


CHill60

Ты опоздал больше чем на два года

Рейтинг:
1

Arif Ansari Code

http://www.aspsnippets.com/articles/contact-us-form-with-rich-textbox-in-asp.net.aspx[^]



Пожалуйста, попробуйте, вы можете получить простой код здесь


CHill60

не по теме

Arif Ansari Code

Хорошо дорогая ты можешь
Скажите мне, что такое требование здесь

CHill60

Мои извинения - когда я перешел по ссылке в первый раз, я получил совершенно другой сайт... ошибка с моей стороны. Я отменил свой downvote (я думаю)

Рейтинг:
0

Rishabh Mayur

Пожалуйста, перейдите по этой ссылке, вы получите свой ответ

http://aspsnippets.com/Articles/How-to-send-email-Asynchronously-in-ASPNet-using-Background-Thread.aspx[^]


CHill60

Вы также опоздали более чем на 2 года

Rishabh Mayur

оооо... да ..вы правы, я не видел даты поста .. я просто случайно дал ссылку на ответ ....

Вероятно, это также может помочь другим народам, которые ищут по этой теме.. :)