1. Используйте программное обеспечение для отправки, предоставляемое outLook, например программное обеспечение UFIDA U8 Manufacturing (демонстрационная версия), которое я видел, в котором функция электронной почты отправляется путем вызова компонента ActiveX outLook. Преимущества: Простота разработки. Компонент Outlook, почтовая служба SMTP
для отправки электронных писем. Код выглядит следующим образом:
Private Sub Send().
Затемните outObj как новый Outlook.Application()
Тусклый элемент как Outlook.MailItemClass
Элемент = outObj.CreateItem(0)
Item.To = "
[email protected] "
Item.Subject = "привет"
Item.Body = "ад"
Item.Attachments.Add("C:abc.txt")
Элемент.Отправить()
Конец
2. Веб-разработка, см. System.Web.Mail в ASP.NET. добрый
Пространство имен System.Web.Mail содержит классы, которые позволяют создавать и отправлять сообщения с помощью компонента сообщений CDOSYS (объекты данных совместной работы для Windows 2000). Почтовые сообщения доставляются через почтовую службу SMTP, встроенную в Microsoft Windows 2000, или через любой SMTP-сервер. Классы в этом пространстве имен можно использовать в ASP.NET или любом управляемом приложении.
MailAttachment предоставляет свойства и методы для создания вложений электронной почты.
MailMessage предоставляет свойства и методы для создания сообщений электронной почты.
SmtpMail предоставляет свойства и методы для отправки сообщений с использованием компонента сообщений Collaboration Data Objects (CDOSYS) Windows 2000.
Почта может доставляться через почтовую службу SMTP, встроенную в Microsoft Windows 2000, или через любой SMTP-сервер. Типы в пространстве имен System.Web.Mail можно использовать в ASP.NET или любом управляемом приложении.
Настройки сервера Smtp. Теперь некоторые бесплатные поставщики электронной почты больше не предоставляют услуги Smtp для всех электронных писем. При отправке электронных писем необходимо проверять информацию пользователя. Если сервер Smtp находится на локальном компьютере, скорость отправки будет снижена. быть очень быстрым, в общем, не волнуйтесь. Если это не локальный сервер, лучше не использовать его слишком часто при отправке. Одна из них — это проблема со скоростью, а другая — с отправкой слишком большого количества электронных писем. думаю, что это спам, а код отказа в обслуживании выглядит следующим образом:
Private Sub Button1_Click (отправитель ByVal As System.Object, ByVal e As System.EventArgs) Обрабатывает Button1.Click
Тусклый mailObj как новый MailMessage()
Уменьшить smtp как SmtpMail
'Определяем имя SMTP-сервера
smtp.SmtpServer = "smtp.XXX.com"
'Определить адрес отправки электронной почты
mailObj.From = "
[email protected] "
'Определить адрес получения электронной почты
mailObj.To = "
[email protected] "
'Определить адрес скрытой копии электронной почты
mailObj.Bcc= "
[email protected] "
'Определить адрес точной копии электронного письма
mailObj.Cc = "
[email protected] "
'Определить тему письма
mailObj.Subject = "Тема"
'Определить тело письма
mailObj.Body = "Тело письма!"
'Письмо отправляется в формате HTML
mailObj.BodyFormat = MailFormat.Html
'Определите ограниченный уровень почты, установите здесь высокий уровень
mailObj.Priority = MailPriority.High
'Прикрепить вложение к отправленному письму
mailObj.Attachments.Add(New MailAttachment("c:aa.doc"))
smTp.Send(mailObj)
Конец подраздела
3. Используйте System.Net.Sockets при разработке приложений Windows на VB.NET или C#.
Он также основан на протоколе SMTP 1. Введение в протокол SMTP.
1. Клиент устанавливает TCP/IP-соединение с сервером через порт 25 сервера: 220 server.com Простая служба передачи почты готова.
2. Клиент использует команду «HELO» для идентификации клиента-отправителя: HELO server.com.
Серверная часть: 250 server.com
3. Клиент отправляет команду MAIL, а сервер отвечает OK, указывая, что он готов принять клиента: MAIL FROM: <
[email protected] >
Серверная часть: 250 ОК
4. Клиент отправляет команду RCPT для идентификации получателя, а сервер отвечает, готов ли он принять почтовый клиент в качестве получателя: RCPT TO: <
[email protected] >
Серверная часть: 250 ОК
5. После завершения согласования используйте команду DATA для отправки почтовому клиенту: DATA
На стороне сервера: 354 Начало ввода почты: закончить на <CRLF>.<CRLF>
6. Клиент завершает входной контент с помощью . и отправляет его клиенту: Тема: <CRLF>.
Содержимое<CRLF>
.<CRLF>
7. Клиент завершает работу с помощью команды QUIT.
Клиент: ВЫХОДИТЬ
Серверная часть: 250 закрытие канала передачи server.com.
Преимущества: На этой основе можно разрабатывать свои собственные компоненты. Используя Sockets, мы можем разрабатывать сетевое программирование. Недостатки: Объем
программы относительно большой. Код для отправки электронных писем выглядит следующим образом.
Уменьшить sendData как строку
Dim szData как байт()
Уменьшить CRLF как строку
CRLF = "rn"
'Создать соединение с портом 25 сервера
Dim SmtpServ как новый TcpClient (txtsmtp.Text, 25)
lstlog.Items.Clear()
'Отображение исходной информации о сервере
Dim NetStrm как NetworkStream
NetStrm = SmtpServ.GetStream()
Dim RdStrm As New StreamReader(SmtpServ.GetStream())
Если RdStrm.ReadLine() <> "" Тогда lstlog.Items.Add(RdStrm.ReadLine())
'
sendData = "Сервер HELO" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Отметить отправителя
sendData = "ПОЧТА ОТ: " + "<" + txtfrom.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Отметить получателя
sendData = "RCPT TO: " + "<" + txtTo.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Подготовка к отправке содержимого
sendData = "ДАННЫЕ" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Отправить тему
sendData = "ТЕМА: " + txtsub.Text + CRLF
'Отправить контент
sendData = sendData + txtmsg.Text + CRLF
'Завершить отправку
sendData = sendData + "." + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Выход
sendData = «ВЫЙТИ» + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Закрываем соединение
NetStrm.Close()
РдСтрм.Закрыть()
lstlog.Items.Add("Соединение закрыто")
lstlog.Items.Add("Отправлено успешно").
Вы также можете обратиться к: Использование C# для создания компонента отправки электронной почты (SMTP).
http://www.aspcool.com/lanmu/browse1.asp?ID=968&bbsuser=csharp 4. CDONTS, базовый компонент отправки, входящий в состав IIS SMTP.
Вам не нужно загружать его специально. Microsoft уже предоставила этот компонент, пока установлена версия 2000, он будет доступен в SMTP NT.
Преимущества: Компоненты предоставляются операционной системой. Недостатки: Плохая функциональность и плохая масштабируемость.
Mymail = CreateObject("CDONTS.NewMail").
Mymail.From = *** 'Почтовый ящик отправителя письма
Mymail.To = *** 'Почтовый ящик получателя письма
Mymail.CC = *** 'Копия
Mymail.BCC = *** 'Привязать отправку
Mymail.Subject = *** 'Тема письма
Mymail.Body = *** 'Тело письма
'Установим приоритет, 0-не важно, 1-обычно, 2-важно.
Моя почта.Важность = 2
Моя почта.Отправить()
Mymail = Ничего
5. Используйте компонент JMail.
Jmail имеет следующие характеристики:
(1) Вложения можно отправлять;
(2) Возможность подробного журнала позволяет проверить проблему;
(3) Установите приоритет отправки электронной почты;
(4) Поддерживает отправку электронных писем в нескольких форматах, например отправку электронных писем в формате HTML или TXT. Это бесплатный компонент.
(5) Возможность отправлять слепые электронные письма/(CC) копии/срочные письма;
(6) Самое главное — компоненты бесплатны и за них не нужно платить, поэтому их очень стоит использовать.
Веб-сайт:
http://www.dimac.net/ , текущая версия — 4.3.
Общие атрибуты компонентов JMail:
Тело сообщения электронной почты
Ведение журнала вызовов Запись журнала для использования при отладке
Приоритет Приоритет письма от 1 до 5.
Отправитель отправитель
ServerAddress IP-адрес или имя SMTP-сервера
Общие методы
компонента JMail заголовка темы письма
:
AddAttachment указывает файл вложения.
AddRecipient добавляет получателя
AddRecipientBCC Скрытая копия, известная только отправителю и получателям скрытой копии.
АддреципиентCC CC
После того, как Execute отправляет электронное письмо
и понимает необходимые атрибуты и методы, оставшаяся часть получает электронное письмо, введенное пользователем, и передает его в качестве параметра методу AddRecipient, затем заполняет оставшиеся атрибуты по мере необходимости и, наконец, отправляет его с помощью Execute. метод. Например:
Дим JMail
JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Logging = Истина
JMail.ServerAddress = "202.96.144.48"
JMail.Sender = "
[email protected] "
JMail.Subject = «тема».
JMail.Body = "тело".
JMail.AddRecipient("
[email protected] ")
JMail.AddAttachment("c:go.gif")
JMail.Приоритет = 3
JMail.Выполнить()
JMail = Ничего.
Краткое описание: какое решение выбрать, зависит от цели и потребностей программы. В этой статье для справки представлено несколько примеров. Например, программное обеспечение UFIDA U8 вызывает компонент Outlook и интегрирует его в свое собственное программное обеспечение. Система управления, которую я написал, я написал свои собственные компоненты (SMTP), одинаково мощная, но время кодирования больше!