MailApp.sendEmail =: проверить доступность входной электронной почты от пользователя перед отправкой электронной почты через MailApp - PullRequest
0 голосов
/ 17 апреля 2020

В настоящее время я разрабатываю форму Google, которая позволяет пользователю вводить электронное письмо получателя и затем отправлять электронное письмо после отправки формы.

Есть ли возможность проверить доступность входного электронного письма от пользователя до отправки электронного письма через MailApp?

Я пытаюсь MailApp.sendEmail(recipient, subject, body, {noReply:true,htmlBody_message, replyTo:user email})

всякий раз, когда пользователь вводит неверный адрес электронной почты, система по-прежнему отправляет уведомление (администратор) мне, а не отвечает на электронную почту пользователя.

Нужна помощь ..> <'</p>

Евгений

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Адреса электронной почты в вашей организации:

Если вы хотите искать электронные письма в своей организации, вы можете использовать Users: get , чтобы проверить, соответствует ли электронная почта какой-либо учетной записи в вашей организации .

Для этого вам необходимо включить Служба каталогов администратора SDK и использовать, например, следующее:

const existsInDomain = email => {
  try {
    const res = AdminDirectory.Users.get(email);
    return true;
  } catch(error) {
    return false;
  }
}

Другие адреса электронной почты:

Если вы хотите проверить это для адресов электронной почты не в вашей организации, ситуация усложняется. Вы можете проверить, правильно ли отформатирован адрес электронной почты, используя Regex, как в некоторых ответах на этот вопрос , но я не знаю какого-либо способа программно проверить, существует ли указанный c адрес электронной почты (Кажется, существуют некоторые онлайн-инструменты, но не знаю, есть ли программный c способ интеграции с вашим кодом).

Ссылка:

0 голосов
/ 17 апреля 2020

Попробуйте это


function isValidEmailInMyDomain(address) {
  var parts = address.split('@');
  if( parts.length != 2 )
    return false;
  if( parts[1] != UserManager.getDomain() )
    return false;
  try {
    UserManager.getUser(parts[0]);
    return true;
  } catch(doesNotExist) {
    return false;
  }
}

function testFunction() { //check the menu View > Logs
  Logger.log(isValidEmailInMyDomain('aEmailIn@yourDomain.com'));
}

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