Отправка писем C # - PullRequest
       31

Отправка писем C #

2 голосов
/ 16 декабря 2009

Я пишу приложение, которое должно открыть новый почтовый диалог, после нажатия на кнопку. Пользователи приложений используют различные почтовые клиенты, такие как MS Outlook, Thunder Bird и т. Д. ...

Приложение должно открыть новый почтовый диалог, заполненный информацией, переданной моим приложением, например TO , BCC , Тема и Тело иногда с вложениями .

И также необходимо установить адрес с .

Самое главное, чтобы формат почты был в HTML

Ответы [ 4 ]

2 голосов
/ 16 декабря 2009

Пожалуйста, обратитесь к статье ниже для получения дополнительной информации о mailto: синтаксис протокола

http://www.ianr.unl.edu/internet/mailto.html

Команда MailTo может сделать больше, чем введите один адрес электронной почты в поле Поле «Отправить» при активации вашего программа электронной почты. Это может также: Характеристика
Синтаксис Адресное сообщение для нескольких получатели, (разделяя запятую адреса электронной почты) Добавить запись в Поле «Тема» Тема = Поле «Тема» Текст Добавить запись в поле «Копировать в» или Поле "CC" cc=id@internet.node Добавить запись в «Слепой копии» или «BCC» поле bcc=id@internet.node Добавить запись в поле «Тело» body = Ваше сообщение здесь внутри тела используйте "% 0A" для новая строка, используйте "% 0A% 0A" для новой строки предшествует пустая строка (абзац), см. пример ниже.

Примечания:

"" (начало и конец двойной кавычки) необходимы, если какие-либо пробелы используются

Параметру Mailto должен предшествовать "?" для первого или единственного параметра и "&" для второго и последующих параметр.

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

1 голос
/ 16 декабря 2009

Если вы хотите отправлять почту программно в C #, C # поставляется с пространством имен «using System.Net.Mail». Классы SmtpClient и MailMessage могут сделать для вас явную отправку почты, настроенной с помощью CC и BB, а также параметров вашей темы. Например,

//instance of mail message
                MailMessage mail = new MailMessage();

                //create instance of smtpclient
                SmtpClient smtp = new SmtpClient();

                smtp.EnableSsl = true;

                //recipient address
                mail.To.Add(new MailAddress(userid));

                //Formatted mail body
                mail.IsBodyHtml = true;
                string st = ""; 
st += "<HTML><BODY>";
                        st += "<span style='font-family: Verdana; font-size: 9pt'>";
                        st += "Dear Sir/Madam,<br/><br/>";
                        st += "We refer to your request for reseting your login password.";
                        st += "Please take note of your Login Password, as you need them every time you login.<br/><br/>";
                        st += "<b>Email/Userid: " + userid + "</b><br/>";
                        st += "<b>Password: " + password + "</b><br/><br/>";
                        st += "Regards</br>";
                        st += "XYZ Team";
                        st += "</span><br />";
                        st += "</HTML></BODY>";         
                        mail.Body = st;

                //send mail via smtp client
                smtp.Send(mail);        

Ниже приведены параметры конфигурации для клиента SMTP, которые необходимо выполнить в файле APP.config:

> <system.net>
>     <mailSettings> <smtp from="">
>         <network host="" port="" userName="" password=""
> defaultCredentials="false" />
>       </smtp>  </mailSettings>   </system.net>

Примечание: вы можете определить эти значения также с помощью кода.

Надеюсь, это поможет.

0 голосов
/ 16 декабря 2009

Так что вопрос немного запутанный: нужно ли приложению автоматизировать Outlook и Thunderbird или вам нужно отправлять электронную почту с помощью C # на клиентов , которые будут использовать Outlook и Thunderbird?

Если вам нужно автоматизировать сторонние приложения, обратитесь к VBA для Outlook. (Я не уверен, что Thunderbird можно автоматизировать таким образом, поскольку я не верю, что у него есть внешне видимый макроязык. Но учитывая, что следствие Закона программной защиты Завински заключается в том, что каждое приложение получает макрос языка для отправки электронной почты, я могу ошибаться.)

Если вы хотите отправлять почту из приложения C #, обратите внимание на компонент MailMessage (MSDN). Это должно сделать все, что вам нужно. Вам нужно будет настроить его соответствующим образом для отправки почты в формате MIME text/html: в MSDN есть пример того, как это сделать здесь , который также включает альтернативные представления для пользователей, которые не могут или не хотят читать почту HTML.

0 голосов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...