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

Вид: 40028|Ответ: 1

[.NET Core] Отправляйте сообщения с помощью ASP.NET Core

[Скопировать ссылку]
Опубликовано 03.05.2017 15:32:37 | | |
предисловие

Мы знаем, что текущий .NET Core не поддерживает протокол SMTP, когда я использую функцию отправки письма, мне нужно использовать сторонние компоненты для достижения этой цели. Сегодня я познакомлю вас с двумя открытыми компонентами для отправки писем — MailKit и FluentEmail, я представлю их соответственно.

MailKit

В ASP.NET Core можно использовать MailKit для отправки сообщений, поддерживает кроссплатформенные, IMAP, POP3, SMTP и другие протоколы.

Вы можете установить его следующими способами:


Вот простой пример отправки письма:



Если основной контент, который вы хотите отправить, — это HTML, вы можете использовать следующее:




Fluent Email также является проектом с открытым исходным кодом, вы можете использовать шаблоны Razor для отправки писем, а также интегрироваться с некоторыми сторонними отправителями, такими как Mailgun, но этот пакет поддерживает SMTP только под .NET 4.6. Вы можете установить его с помощью следующей команды:


Вы можете отправить письмо самыми простыми способами, такими простыми:



В качестве альтернативы можно использовать шаблон Razor, чтобы отправить:


Email.DefaultRenderer указывает FulentEmail, какой рендерер использовать (вы также можете реализовать свой собственный), затем предоставляет шаблон-шаблон с содержимым строки шаблона синтаксиса Razor, а затем использует UsingTemplate для рендеринга.

Шаблон CSHTML на диске

Если файл шаблона Razor большой и не очень удобен для использования строк, вы можете переместить шаблон на диск и загрузить его следующим образом:




Отправляйте сообщения с помощью Mailgun

Некоторые люди могут мало знать о Mailgun, Mailgun — это компания по обслуживанию зарубежной почты, например, знаменитая почтовая служба Github, размещённая на ней, и бесплатный аккаунт Maingun может отправлять 10 000 писем в месяц, что достаточно для многих малых и средних сайтов.

При использовании Mailgun для отправки писем сначала нужно зарегистрировать аккаунт, а затем использовать API Rest, предоставленный Mailgun, чтобы управлять отправляемыми или получаемыми письмами. Mailgun с интеграцией с FluentEmail должен добавлять только такие пакеты:


После регистрации Mailgun вам будут назначены API Key и доменное имя второго уровня, и вы должны настроить его следующим образом:




сводка

Из приведённых выше примеров видно, что у MailKit и FluentEmail есть свои плюсы и недостатки. Преимущество MailKit в том, что он поддерживает множество протоколов и является кроссплатформенным, но недостаток в том, что он не поддерживает Razor, и если вы используете Mailgun, его нужно интегрировать самостоятельно. Преимущество FlentEmail в том, что он поддерживает шаблоны Razor и инкапсулирует Mailgun, но недостаток в том, что протокол SMTP пока не поддерживает .NET Core.

В итоге, если вы используете Mailgun для отправки писем, то FluentEmail — это ваш выбор, а если хотите использовать протокол SMTP для подключения к почтовому серверу для отправки писем, то используйте MailKit.





Предыдущий:.net/c# Инструкция по буферам протокола Google
Следующий:Почему задача .net/c# медленнее Thread?
Опубликовано 04.11.2021 13:57:02 |
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com