Как отправить электронное письмо, когда оно уже есть в виде строки? - PullRequest
3 голосов
/ 23 января 2012

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

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

Когда я говорю массовая отправка ... У меня есть от 10 до 15 шаблонов (различается), и я хочу отправить около 1000 копий каждого в данный почтовый ящик.

Теперь вот твой камень преткновения ...

Я мог бы просто запустить экземпляр клиента SMTP и объявитьЗатем новый объект MailMessage отправляет его с помощью SMTP-клиента ... проблема в том, что мои шаблоны электронной почты содержат настраиваемую информацию заголовка, поэтому это не просто вопрос msg.Body = someText, а затем установка полей «Кому» и «От» и «Тема».

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

Итак, если у меня есть файл txt или eml, как я могу отправить этот необработанный текст в мой почтовый ящик, чтобы я мог выполнить свое тестирование?

Ответы [ 3 ]

2 голосов
/ 25 января 2012

Лучший способ, которым я знаю, это использовать объекты MailBee.NET, которые не являются бесплатными, но вы можете загрузить пробную версию: http://www.afterlogic.com/mailbee-net/email-components

Тогда то, что вы ищете, выглядит примерно так:

            MailBee.Mime.MailMessage message = new MailMessage();
            message.LoadMessage(filestream);
            MailBee.SmtpMail.Smtp.QuickSend(message);

Раскрытие информации: я не работаю в AfterLogic, но некоторые из их инструментов очень помогли с Elastic Email (http://elasticemail.com)

0 голосов
/ 10 октября 2012

Еще один, который появился в моем поиске - EASendMail от Email Architect.Как и MailBee.NET, это не бесплатно, но я нашел специальную документацию , которая показывает функцию, которую вы запрашиваете, вызывая метод SendRawMail.Этот пример написан на C ++ / CLI, но то же самое относится и к коду, написанному на C # или VB.NET.Если я в конечном итоге воспользуюсь пробной версией, я опубликую свой отзыв здесь.

0 голосов
/ 28 июля 2012

Если у вас правильно сформированное сообщение RFC822, просто передайте его как есть на этапе DATA транзакции SMTP.В Unix это просто

sendmail -oi -t <file

В некоторых дистрибутивах Linux sendmail не установлен в PATH;попробуйте /usr/lib/sendmail или обратитесь к форуму для вашего конкретного дистрибутива, если вы не можете придумать несколько обоснованных догадок самостоятельно.

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