sonyps4.ru

Чистый отправить e mail сообщение. Mxtoolbox email dns additional - Как отправить чистые сообщения электронной почты из вашего приложения? Программная отправка email, используя различные сервисы

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

Краткая информация

Технология e-mail использует для работы такую схему:

Используется несколько протоколов (инструкций/наборов правил):

  • Протокол SMTP — для отправки сообщений через свой почтовый сервер.
    Работает на участке: Клиент-Отправитель → Сервер-Отправителя.
  • Протоколы POP, IMAP — для получения сообщений со своего почтового сервера.
    Работает на участке: Сервер-Получателя → Клиент-Получатель.

Обмен всех сообщений между пользователями идет через их почтовые серверы. Причем Сервер-Получателя может не доверять Серверу-Отправителя. Заметка: это важно, так как письма в этом случае могут не доходить, если мы например будем использовать свой Сервер-Отправителя, не выполнив определенные условия. Проще всего использовать общедоступные сервисы почты.

  • Дает возможность создать учетную запись пользователя.
  • Хранит все сообщение пользователя.
  • Выступает доверенным «лицом» пользователя. Это значит что пользователь отправляет сообщения только с помощью своего сервера.
  • Дает возможность принимать сообщения от других пользователей. Сервер находиться постоянно в рабочем состоянии, что позволяет ему обрабатывать подключения от других почтовых серверов.
  • Чаще всего это программа на локальном компьютере, которая подключается к почтовому серверу.
  • Использует данные учетной записи пользователя (логин и пароль) для подключения к потовому серверу.
  • Позволяет просматривать полученные сообщения, хранящиеся на почтовом сервере (через POP, IMAP).
  • Позволяет отправлять сообщения другим, с помощью почтового сервера (через SMTP).

Заметка. Возможна ситуация отправки сообщения самому себе:

  1. Мы подключаемся к своему почтовому серверу используя логин/пароль (через SMTP).
  2. Отправляем новое письмо, где в качестве получателя указываем свой же адрес.

Итак, для отправки сообщений нам необходимы:

  • Адрес SMTP сервера (IP или домен)
  • Данные учетной записи (логин и пароль)
  • Почтовый адрес получателя (может быть наш текущий)

SMTP сервер

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

  1. Незащищенный канал, без шифрования трафика.
  2. Защищенный канал, шифрование трафика SSL/TLS.
  3. Защищенный канал, команда StartTLS - перевод вначале незащищенного канала в режим защищенного SSL/TLS.

Защищенный канал между клиентом и сервером требуют больше «усилий» со стороны клиента. Например подключение дополнительных библиотек для поддержки защищенного соединения, что скажется на размере программы-клиента. Если наша цель создать небольшую программу-клиент, то:

  • Предпочтительнее не использовать защищенный канал.
  • Самостоятельно шифровать тело сообщения.
  • Помнить что логин и пароль передаются в сети открыто!

Важно: Проблема в том, что почти все современные почтовые сервисы работают только через защищенный канал.

  • About SSL/TLS/STARTTLS (архив)

Web-доступ к почте

Почтовые сервисы предоставляют возможность просматривать и отправлять сообщения с помощью браузера. Это альтернатива локальным программам-почтовым клиентам (которые используют протоколы POP/IMAP/SMTP). Мы также можем использовать этот интерфейс для отправки, через эмуляцию работы пользователя внутри браузера.

Важно: Если почтовый сервис работает только через защищенное SSL-соединение (HTTPS), то также как и в случае с SMTP, это требует больше «усилий» со стороны клиента!

Программная реализация

Если наша цель уменьшить размер приложения, то с учетом рассмотренного выше, стоит рассмотреть такие варианты:

  • Использовать небольшие библиотеки для защищенного соединения, со статической линковкой, для того чтобы не включить в программу весь функционал библиотеки.
  • Как альтернативу сторонним библиотекам, использовать возможности операционных систем, на которых будет работать программа.
  • Использовать самое необходимое для подключения, исключая излишнюю универсальность. Например если заранее известны SMTP сервера, с которыми нужно работать, то стоит определить и использовать один общий криптографический алгоритм.

Утилиты для тестирования

  • OpenSSL — Тестирование соединения с сервером и определение используемых им криптографических алгоритмов;
  • SSLyze — Утилита протестирует и покажет все поддерживаемые сервером криптографические алгоритмы;
  • Тестирование почтового сервера на защищенность и список почтовых серверов.
  • Утилита CMail от Inveigle.net — бесплатная утилита для отсылки почты. Позволяет протестировать smtp-сервер.

Первый вопрос, который может возникнуть, это почему люди используют анонимные email-сообщения, когда сегодня существует множество бесплатных почтовых сервисов вроде Gmail, Outlook и Yahoo! Mail? Ну что же, приватность и анонимность – это наше право, цифровое право. Эти email-сервисы «бесплатны» только благодаря рекламе.

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

Более того, разглашение намерений спецслужб и служб по интернет-цензуре (вроде PRISM) вызвало много недовольства со стороны сторонников конфиденциальности личной информации. Если вы хотите, чтобы ваши email-сообщения не попали в чужие руки, то в этой статье мы вам расскажем о нескольких опциях, которые помогут вам отсылать и получать анонимные электронные письма.

Анонимные email-сообщения создают базовую основу анонимности пользователей в интернете. Интернет – это не защищенное хранилище, и вы должны хотя бы немного решать, у кого есть доступ к вашим данным, а у кого нет. Если вы не хотите раскрывать своих данных и информации, то можете, как минимум, использовать анонимные email-сообщения.

Примечание : анонимность в интернете не возможна без сокрытия IP-адреса, поэтому вам лучше воспользоваться Tor, либо любой другой прокси- или VPN-сервисом перед тем, как вы решите воспользоваться одним из предложенных ниже инструментом.

Зашифрованные/Анонимные Email-сервисы

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

Итак, предлагаем вам 5 инструментов.

– Данный сервис предлагает вам анонимный ящик входящих писем со множеством функций защиты и шифрования. Вы получите 10мб дискового пространства, современную защиту посредством SSL-шифрования для создания и G/PGP-шифрования для защиты сообщений.

Tor Mail представляет собой сервис от Tor Hidden, который предлагает действительно качественный сервис по защите ваших email. Инструмент работает в рамках скрытой сети сервиса The Tor Project, поэтому следует отметить, что вам будет необходимо использовать Tor, чтобы иметь доступ к этому инструменту. Tor Mail разрабатывался специально с ориентиром на полную анонимность. Он основывается на сети Tor, а значит отследить данные будет практически не возможно.

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

данный сервис шифрует вашу почту при помощи 4096-битного ключа, что делает ваши сообщения недоступными к прочтению. Для этого инструмента вам не потребуется указывать личные данные или IP-адрес для регистрации и авторизации. К тому же, данный сервис абсолютно не пропускает спам.

– создайте аккаунт и получайте/отправляйте email-сообщения. Вам не понадобится никаких личных данных.

Высылаем email-сообщений без регистраций

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

– здесь вы увидите лишь простую форму, в которую нужно будет ввести адрес получателя, тему и содержимое письма (к тому же, у вас будет возможность прикрепить файл). Чтобы получить ответ, вы можете просто указать собственный email в теле письма.


– отправляйте и получайте красиво оформленные сообщения при помощи полноценного радактора без необходимости раскрывать ваш настоящий email-адрес. Чтобы получить ваши данные для пользования 5ymail, вам нужно будет указать собственный email.

– предлагает вам простой интерфейс, в который нужно будет ввести email-адрес получателя, тему письма, и само сообщение. Сервис исключит ваш ip-адрес из данных о письме, а значит вас будет практически невозможно отследить. К тому же, вам не придется вводить персональную информацию.

– отправляйте анонимные письма кому угодно. Вам нужно будет просто ввести email-адрес получателя, тему письма и само сообщение.

– данный сервис предлагает вам простой интерфейс, в котором нужно будет ввести email получателя и отправителя, тему письма и сообщение. Для отправки письма вам не потребуется никаких других данных. К тому же, здесь будет вестись лог-файл ip-адресов.

– вам нужно будет просто ввести email-адрес получателя, тему письма и само письмо. Каждый день бесплатно можно отправлять до 100.000 писем.

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

– теперь у вас есть возможность высылать электронные сообщения без необходимости раскрывать данные о себе.

Получение Email-сообщений

Если вам нужен какой-нибудь ненужный email-ящик для получения ссылок с подтверждением, и вы не хотите засорять свою основную почту всякого рода подобным хламом, то сегодня мы хотим представить вам 7 очень удобных сервисов. Аккаунты создаются автоматически, когда вы используете тот или иной адрес на каком-нибудь сайте.

Hide My Ass! предлагает вам бесплатный анонимный email-аккаунт, который можно использовать для получения (без возможности отвечать и отправлять сообщения) email. Вы можете использовать этот ящик для получения оповещений или писем с подтверждением регистрации.


– воспользуйтесь доступными публичными email-аккаунтами, созданными специально для получения оповещений или писем подтверждением регистрации. Аккаунты здесь временные, и через некоторое время будут удалены.

NotSharingMy.Info представляет вам временный анонимный email-адрес, на который можно получать email-сообщения без необходимости раскрывать ваш настоящий email. Ваш адрес потребуется только для регистрации в сервисе. Все письма, высланные на ваш анонимный ящик будут автоматически перенаправляться на настоящий почтовый ящик.

– кроме email-адресов, создаваемых автоматически при использовании адреса при регистрации, Mailnesia также предлагает специальную систему с подтверждением ссылок.

– данный сервис позволяет вам быстро и даже автоматически создавать email-ящики. Правда, в этот ящик вы сможете лишь получать сообщения.


– Spambog предлагает вам удаляемые (в течение 7 дней), временные и анонимные email-ящики. Вы можете получать, пересылать и отвечать на письма, но только не создавать новые.

– предлагает вашему вниманию еще один сервис для создания временных и удаляемых email-ящиков. Вы можете отправить алиас почтового ящика куда-угодно, а затем ждать, пока вам придет письмо.

теперь для других бит, которые стоят

IP-адреса являются вашими почтовыми серверами

a пусть ваш ip-адрес ptr указывает на имя, которое также разрешает одно и то же ip FQDNS

b иметь сервер helo / ehlo с any.domain.com, где domain.com совпадает с доменом имени на шаге A (не то же имя для resons ниже}

c иметь, что helo / ehlo servername также разрешает ip вашего сервера

d добавьте следующую spf-запись в это имя helo / ehlo «v = spf1 a -all» (что означает, что helo / ehlo с этим именем из ip это имя указывает только на}

e добавьте следующие строки идентификатора-отправителя к имени helo / ehlo {чисто для полноты "spf2.0 / mfrom, pra -all" {т.е. нет пользователей @ this-domain}

f добавьте следующий spf к имени FQDNS и любым другим именам хостов для вашего сервера «v = spf1 -all» {т.е. никакие машины никогда не будут helo / ehlo как это имя, а не пользователи @ this-domain}

{поскольку имя fqdns может быть определено ботами / инфекциями, лучше не позволять этому имени использоваться в приветствиях helo / ehlo непосредственно, достаточно, чтобы он был из того же домена, что и идентификация helo / ehlo, чтобы доказать справедливость обоих }

2018-12-04T00:00Z

лучший способ не наводнения почтового сервера

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

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

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

вы можете это сделать, используя заголовок «Reply-To», который затем будет использовать этот адрес вместо адреса From, когда будет составлено сообщение электронной почты.

вы также должны установить заголовок «Return-Path» любого электронного письма, так как электронная почта без этого часто отфильтровывается.

From: Return-Path: Reply-To:

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

все это сильно зависит от того, насколько вы владеете своими почтовыми и DNS-серверами. spf / sender-id и т. д. - все проблемы DNS, поэтому вам нужно иметь доступ к DNS.

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

как для обратного DNS и т. п., это действительно зависит. большинство клиентов интернет-провайдера и т. д. ... просто проверит, чтобы установить обратный DNS. (т.е. 1.2.3.4 разрешает host.here.domain.com, даже если host.here.domain.com не разрешает вернуться к 1.2.3.4). это связано с количеством общего хостинга (где почтовые серверы часто сообщают о себе как имя домена клиента, а не настоящий почтовый сервер).

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

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

  • обязательно установите «Return-Path»
  • приятно добавить информацию о вашем приложении и злоупотреблениях в заголовки, например: «X-Mailer» и «X-Abuse-To» (это обычные заголовки, только для информационных целей)
  • убедитесь, что для DNS-адреса сервера исходящей почты установлен обратный DNS-адрес

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

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

Первое, что не стоит делать по этим примерам – это использовать System.Web.Mail, который уже давно устарел, а начиная с Visual Studio 2010 библиотеку System.Web даже и не добавить, не зная полного пути к соответствующей DLL.
Вместо него предлагается использовать библиотеку System.Net.
using System.Net; using System.Net.Mail;
Итак, самое простое, оно же самое важное и часто использующееся - это отправка письма со своего почтового сервера, на котором настроен SMTP-клиент. Как вы понимаете, сервер может быть как и тот, на котором работает приложение, так и удалённый, на котором у вас есть права отправлять письма без дополнительной авторизации.

Пример кода для отправки письма с локальной машины:
", "[email protected]")){ mm.Subject = "Mail Subject"; mm.Body = "Mail Body"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("127.0.0.1")){//Здесь должен быть адрес почтового сервера и порт, если требуется sc.Send(mm); } }

С использованием почтовых служб, таких как Gmail, Yandex, Mail.ru и т.д. всё то же самое, только добавляются параметры с авторизацией.

SMTP-сервер: smtp.gmail.com
Порт: 587
using (MailMessage mm = new MailMessage("Name ", "[email protected]")){ mm.Subject = "Mail Subject"; mm.Body = "Mail Body"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.gmail.com", 587)){ sc.EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential("[email protected]", "GmailPassword"); sc.Send(mm); } }

SMTP-сервер: smtp.yandex.ru
Порт: 25
using (MailMessage mm = new MailMessage("Name ", "[email protected]")){ mm.Subject = "Mail Subject"; mm.Body = "Mail Body"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.yandex.ru", 25)){ sc.EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential("[email protected]", "YandexPassword"); sc.Send(mm); } }

SMTP-сервер: smtp.mail.ru
Порт: 25
using (MailMessage mm = new MailMessage("Name ", "[email protected]")){ mm.Subject = "Mail Subject"; mm.Body = "Mail Body"; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient("smtp.mail.ru", 25)){ sc.EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential("[email protected]", "MailRuPassword"); sc.Send(mm); } }
Если у вас почтовый ящик на сервисе mail.ru заканчивается на inbox.ru, list.ru или bk.ru, то соответственно меняется и адрес SMTP-сервера (smtp.inbox.ru, smtp.list.ru и smtp.bk.ru).

Как вы видите, для того, чтобы использовать любой другой почтовый сервис в ваших программах, необходимо только выяснить адрес SMTP-сервера и порт, а также правила авторизации.

Необходимо также помнить, что практически все сторонние почтовые сервисы накладывают лимиты на количество отправленных писем в период времени.

Теги: email, отправка писем, smtp



Загрузка...