Макрос предназначен для сохранения в реестре (и изменения через форму) настроек почтового аккаунта.
Эти настройки используются макросом рассылки почты Send_Mail
(для отправки почты из Excel без применения специализированных почтовых программ)
При запуске формы, она считывает из реестра Windows ранее сохранённые настройки.
Данный подход позволяет избежать хранения конфиденциальных данных в коде программы, что важно, если вы передаёте файл с программой рассылки почты другим людям.
При использовании этой формы ввода, каждый пользователь сможет самостоятельно задать макросу свои настройки своей учётной записи
После редактирования логина, пароля или адреса SMTP-сервера,
нажмите кнопку «Сохранить и проверить», чтобы сохранить в реестре изменённые данные.
После сохранения настроек, макрос попытается отправить тестовое письмо, используя сохранённые настройки.
(для этого, помимо формы, в книге Excel в стандартном модуде должен присутствовать макрос Send_Mail)
Если введённые настройки корректны, на компьютере есть доступ к интернету, и в системе установлена библиотека CDO for Windows,
будет выведено сообщение об успешной отправке тестового письма.
Данную форму можно использовать и для сохранения в реестре любых других настроек макроса.
Код сохранения настроек, и отправки тестового письма (на случайно выбранный адрес):
Private Sub CommandButton_CheckAndSave_Click()
On Error Resume Next: Dim res As Boolean
' сохранение изменений
SaveSetting Application.Name, "mail", "smtpserver", Trim(Me.smtpserver) ' Ваш SMTPServer
SaveSetting Application.Name, "mail", "sendusername", Trim(Me.sendusername) ' Ваша учетная запись
SaveSetting Application.Name, "mail", "sendpassword", Trim(Me.sendpassword) ' Ваш пароль
' пробуем отправить тестовое пиьмо, использую функцию Send_Mail
res = Run("Send_Mail", "test@mail.ru", Trim(Me.sendusername), "test", "test")
If Err.Number = 1004 Then MsgBox "Проверить настройки почты не удалось", _
vbExclamation, "Макрос «Send_Mail» не найден": Exit Sub ' если макрос не найден
If res Then ' если отправка прошла успешно
MsgBox "Настройки почтового аккаунта проверены - почта успешно отправляется", vbInformation, "Всё ОК"
Else
MsgBox "Настройки почтового аккаунта неверны, SMTP сервер недоступен, " & vbNewLine & _
"или отправка почты не поддерживается вашей операционной системой", vbExclamation, "Что-то не так..."
End If
End Sub
Комментарии
Отправить комментарий