mail mail

Сохранение настроек почтового аккаунта в реестре

Форма редактирования настроек почты в Excel

Макрос предназначен для сохранения в реестре (и изменения через форму) настроек почтового аккаунта.

Эти настройки используются макросом рассылки почты 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

ВложениеРазмер
EmailSettings.xls36 КБ

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
3 + 5 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.