Получение писем с помощью sendgrid и cloudmailin
У меня та же концепция, что и в этом вопросе(генерация уникального случайного адреса электронной почты для каждого пользователя в приложении rails. Когда пользователь отправляет электронное письмо с этим случайно сгенерированным адресом электронной почты, мы обрабатываем тело и сохраняем его в db.
Я выполнил следующие шаги:
- Развернуло мое приложение в Heroku
- Создал учетную запись sendgrid и настроил
username
а такжеpassword
герою (чтобы получить аддон сетки). - добавил gem griddler и следовал за шагами, упомянутыми в griddler.
- Настроил разбора webhook в sendgrid с моим хостом и URL.
Вот основная проблема:
Я зарегистрировался в coludmailin, и он сгенерировал один адрес электронной почты. Я действительно не понимаю, как получать уникальные электронные письма в мое приложение рельсы сейчас. Я пробовал белую маркировку cloudmailin.net
в sendgrid, но это не работает (может быть, я здесь не прав).
Много гуглил, но не понял, как дальше отсюда. Может кто-нибудь, пожалуйста, помогите мне в решении этой проблемы. Ценю, если я получу хорошую пошаговую ссылку
1 ответ
Есть два варианта сделать это с CloudMailin.
Опция 1:
На бесплатном плане вы можете использовать +
чтобы отделить адрес электронной почты, данный вам на CloudMailin, и при этом создать уникальный адрес электронной почты, на который каждый клиент может ответить. Например:
Если ваш адрес электронной почты CloudMail в example1234@cloudmailin.net
ты можешь использовать example1234+unique_id_54321@cloudmailin.net
, CloudMailin звонки unique_id_54321
одноразовая часть этого адреса электронной почты. Таким образом, вы можете отправить электронное письмо и указать, что отправитель этого письма example1234+unique_id_54321@cloudmailin.net
а затем отличить одного пользователя от другого.
Вариант 2 (лучший вариант):
Однако лучший способ сделать это - использовать пользовательские домены CloudMailin. Вы можете получить anything@yourdomain.com
,
С включенными настраиваемыми доменами вы устанавливаете CloudMailin как свой MX-сервер. Тогда любое письмо, поступающее в yourdomain.com
идет прямо к CloudMailin (вы можете использовать app.yourdomain.com
чтобы избежать конфликтов с вашей обычной электронной почтой, если это необходимо).
Затем вы можете отправить электронное письмо с отправителем как user-12345@yourdomain.com
, task-12345@yourdomain.com
или любой другой уникальный идентификатор. Когда вы получите письмо от CloudMail в конверте, вы увидите, что письмо было отправлено user-12345@yourdomain.com
и затем вы можете использовать это, чтобы решить, кем был пользователь.