Автоматически создавать адреса электронной почты и получать электронные письма с помощью С#?

Я большой поклонник функции электронной почты, доступной в Backpack, где она создает уникальный адрес электронной почты для каждой страницы рюкзака. , и все электронные письма, отправленные на этот адрес, будут опубликованы на странице.

Мой вопрос о том, как лучше всего автоматически создавать новые адреса электронной почты и прослушивать новые электронные письма, отправленные на эти адреса. Я хотел бы сделать это из службы С# (я не использую ASP.Net)

  • Кто-нибудь пытался достичь этого или чего-то подобного раньше?
  • Существуют ли уже доступные библиотеки (предпочтительно FLOSS), которые делают это или могут мне помочь?
  • Можно ли это сделать с помощью облачного почтового сервиса (и если да, то какого?) и библиотеки для связи с этим сервисом (OpenPop.Net или аналогичный)?

person Iain Sproat    schedule 06.01.2011    source источник
comment
эти ребята создали почтовый сервер и набор библиотек для работы с электронной почтой, lumisoft.ee/lsWWW/ENG/Products/Mail_Server/ надеюсь, что это поможет вам   -  person Nikola Sivkov    schedule 06.01.2011


Ответы (3)


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

Например, Google Apps для доменов позволяет настроить *@example.com для доставки [email protected]. Когда кто-то отправляет электронное письмо [email protected] или [email protected], все это будет доставлено [email protected].

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

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

person Community    schedule 06.01.2011

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

  • Создайте адреса электронной почты для пользователей на основе любой логики и сохраните их в БД.

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

  • Создайте службу Windows, которая будет читать почту из этой учетной записи «Catch-All». Существует несколько библиотек для чтения почты с использованием POP3 или IMAP.

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

Проверьте этот вопрос. это может помочь вам с чтением входящей почты.

person Danish Khan    schedule 06.01.2011

Цель состоит не в том, чтобы создать адреса электронной почты, на самом деле этого не происходит. Что вы делаете, так это принимаете адреса электронной почты в своей системе, что вы принимаете, зависит от вас. Вы можете настроить почтовый сервер для получения любой электронной почты, отправленной на ваш домен, затем вы можете проанализировать поле электронной почты «Кому» и извлечь часть «имя». Если он соответствует тому, что вы слушаете, вы действуете соответствующим образом.

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

person Lazarus    schedule 06.01.2011