2013-12-11 6 views
6

Из документации (http://docs.meteor.com/#email), кажется, отправка электронной почты довольно прямолинейна с помощью Meteor. Просто нужно добавить пакет, а затем указать учетные данные стороннего поставщика электронной почты в MAIL_URL.Получение электронной почты на Meteor?

В настоящее время я пытаюсь разработать возможность получать электронные письма. Нам нужно это средство, чтобы сказать отписаться от пользователя из нашей системы или разрешить пользователям вводить данные, просто отвечая на их электронную почту.

Я просто хочу знать, что это лучший способ сделать это? Можно ли получать и анализировать электронные письма из моего решения Meteor или мне нужно настроить что-то отдельное решение для этого?

Если это помогает, я запускаю сайт метеора у лазурной виртуальной машины (в ubuntu), а наш сторонний поставщик - SendGrid.

+0

У вас есть получение электронной почты на машине и запись DNS MZ и все, что уже настроено? Или это часть вопроса? –

+0

@ChristianF: Нет, я не сожалею. На данный момент у меня есть возможность отправлять электронные письма от Метеор. – Diskdrive

ответ

2

Сначала вам нужно настроить свою машину (или другую), чтобы иметь возможность получать электронную почту. Это само по себе является задачей, а не просто супер, и будет включать установку записи MX на вашем сервере имен. Это потребует некоторого чтения. Это может быть место, чтобы начать: https://help.ubuntu.com/12.04/installation-guide/i386/mail-setup.html

После того, как у вас есть возможность отправлять электронную почту на сервер, вы можете использовать что-то вроде этого, чтобы получить письма в узле/метеора: https://github.com/mscdex/node-imap https://atmosphere.meteor.com/package/meteor-node-imap

Если вы «d скорее имеют node.js себе запустить сервер SMTP для получения почты, вы, вероятно, хотите посмотреть на что-то вроде этого: https://npmjs.org/package/simplesmtp

+0

Примечание: simplesmtp устарел и сервер не работает (для меня) с помощью узла v0.10 + - попробуйте [smtp-server] (https://github.com/andris9/smtp-server). – Soren

2

Если вы хотите получать электронную почту, у вас есть 2 основных варианта:

Первый вариант

Первый заключается в установке сервера электронной почты, чтобы получать электронную почту, хранить эту электронную почту и доступ к нему. Я бы порекомендовал Haraka для этого. Вы можете установить его на свой сервер, запустить его, а затем добавить плагин, например haraka-couchdb или haraka-redis, чтобы сохранить электронные письма в базе данных. Затем вы можете просто запросить эту базу данных и вытащить содержимое электронной почты. Тогда вам просто нужно разобрать его. (Я считаю этот подход проще, чем создание суффикса с поддержкой IMAP и держать, что работает)

Второй вариант

Второй вариант заключается в использовании SendGrid распарсим Webhook (так как вы уже клиент с нами - отказ от ответственности: я евангелист-разработчик с SendGrid). Там есть руководство для начинающих, чтобы сделать это здесь:

http://sendgrid.com/blog/parse-webhook-tutorial/

И пример приложения здесь:

https://github.com/scottmotte/sendgrid-parse-api-example

3

Я также Евангелиста в SendGrid. Вот процедура для получения входящей электронной почты с нашей синтаксическим анализом webhook в Метеоре:

  1. Setup метеорит менеджер пакеты для метеора.Процедура установки здесь: https://github.com/oortcloud/meteorite

  2. Запустить mrt add router в командной строке.

  3. Следующая модифицировать JavaScript, чтобы добавить маршрут:

Meteor.Router.add ({ '/ въездной': функция() {

пост = this.request.body ;

при условии = post.subject;

тела = post.body;

return [200, "Success"]}});

Вы можете увидеть живой пример получения входящей электронной почты здесь: http://hook.meteor.com и исходный код для этого можно найти здесь: https://github.com/kunal732/sgmeteor

Вот блоге я писал на эту тему, а также для получения дополнительной справки , http://sendgrid.com/blog/receive-inbound-email-meteorjs/

Смежные вопросы