Как отправить электронное письмо от клиента с помощью SES - PullRequest
1 голос
/ 03 мая 2020

Я новичок в разработке своего первого сайта и использую AWS в качестве своей хостинговой платформы. На моем сайте есть форма «Связаться с нами», где пользователь может ввести свое имя, адрес электронной почты и сообщение, а затем нажать «Отправить».

Я использую SES для отправки электронного письма из формы «Свяжитесь с нами», но у меня возникла проблема. Мне известно, что SES может отправлять электронные письма только с подтвержденного адреса электронной почты, однако я бы хотел, чтобы в моем заголовке From использовался адрес электронной почты, введенный клиентом. Это происходит так, что, когда письмо приходит в мой почтовый клиент, оно показывает имя клиента слева, рядом с темой, прежде чем я щелкну в письме.

Я попытался установить заголовок отправителя для моего подтвержденного электронного письма, чтобы что я мог бы использовать заголовок From в качестве заголовка клиента, но это не имело значения.

Я следовал этому руководству , но как только я изменил <sender@example.com> на что-то, кроме моего подтвержденный адрес электронной почты, он не будет работать.

Сценарий bash, который я использую для отправки электронного письма, выглядит следующим образом:

emailInput='AUTH LOGIN
*myBase64EncodedSMTPLogin*
*myBase64EncodedSMTPPassword*
MAIL FROM: '"${1}"'
RCPT TO: *my ses verified email address*
DATA
From: '"${2}"' <'"${1}"'>
To: 
Subject: Message from *mysite.com*
'"${3}"'
.
QUIT'

echo "$emailInput" > ./tmpEmailInput.txt 

openssl s_client -crlf -quiet -starttls smtp -connect *aws smtp endpoint* < tmpEmailInput.txt

rm ./tmpEmailInput.txt

В приведенном выше коде аргументы следующим образом:

  • Первый аргумент - это адрес электронной почты клиента.
  • Второй - это его имя.
  • Третий - это его сообщение.

Если я заменим 1 доллар США в обоих местах на свой подтвержденный адрес электронной почты, это сработает, но в моем почтовом клиенте в качестве отправителя будет указано «я», потому что подтвержденный адрес электронной почты отправляет и получает. Я могу видеть имя клиента в поле вверху только после того, как нажму на электронное письмо.

Буду очень признателен за совет.

Спасибо.

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