
Проект Кабина для голосования
Проект День рождения
Проект Рассылка почты
Во время работы процедуре необходимы объекты для работы с электронной почтой:
Dim TheMailMessage as New MailMessage
Dim TheMailConnection as New SmtpMail
Сначала производится отбор всех электронных адресов клиентов, которые принадлежат к группе, указанной сотрудником в элементе DropDownList:
DBCommand = New OleDbDataAdapter _
("Select Distinct CustomerEmail from Customers " _
& "Where GroupName = '" _
& ddlGroupName.Selectedltem.Text & "'", DBConn)
Извлеченные данные помещаются в объект DataSet:
DBCommand.Fill(DSPageData, _
"Emails")
На следующем этапе задаются параметры электронного сообщения, одинаковые
для всех адресатов. Это, во-первых, адрес отправителя:
TheMailMessage.From = txtFrom.Text
во-вторых, тема сообщения:
TheMailMessage.Subject = txtSubject.Text
в-третьих, текст сообщения:
TheMailMessage.Body - txtMessage.Text
Далее начинает выполняться цикл, работа которого заключается в отправке сообщений всем клиентам, перечисленным в объекте DataSet:
For I = 0 to DSPageData.Tables("Emails"). _
Rows.Count - 1
Внутри цикла задается адрес получателя:
TheMailMessage.То = DSPageData.Tables("Emails"). _
Rows(O).Item("CustomerEmail")
Затем сообщение отправляется:
TheMailConnection.Send(TheMailMessage)
и осуществляется новая итерация цикла (обработка очередного клиента).
Когда работа цикла завершена, проверяется количество отправленных электронных сообщений:
if DSPageData.Tables("Emails").Rows.Count = 1 then
Если отправлено одно письмо, на экране появляется следующее сообщение:
IblMessage.Text = " Ваше сообщение отправлено 1" _
& " адресату. Можете осуществить новую рассылку."
Если же писем несколько, сообщение будет составлено следующим образом:
IblMessage.Text = " Ваше сообщение отправлено " _
& DSPageData.Tables("Emails").Rows.Count _
& " адресатам. Можете осуществить новую рассылку."
Изменение кода для Access
Для обеспечения взаимодействия приложения Рассылка почты с базой данных
Access необходимо внести в код единственное изменение — модифицировать
строку соединения с базой данных:
DBConn = New 01eDbConnection("Provide]j=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog=INETC4;"
5 "User Id-sa;" _
6 "Password=yourpassword;")
В ней должен быть указан нужный провайдер и правильный путь к базе данных
Access:
DBConn = New 01eDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;"
& "DATA SOURCE-" _
& Server.MapPath{"/INetBook/C4/Birthday/" _
& "Access/C4birthday.mdb;"))
|