Автоматическое создание адресов электронной почты и получение писем с помощью C #? - PullRequest
4 голосов
/ 06 января 2011

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

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

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

Ответы [ 3 ]

4 голосов
/ 06 января 2011

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

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

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

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

3 голосов
/ 06 января 2011

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

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

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

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

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

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

1 голос
/ 06 января 2011

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

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

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