Отправка электронной почты с помощью Java

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

Для отправки электронной почты необходимо установить соединение с сокетом по порту 25, который обычно используется для протокола SMTP(Simple Mail Transport Protocol — простой протокол передачи почты). Протокол SMTP описывает формат электронных сообщений. Вы можете подключаться к любому серверу, на котором выполняется служба SMTP. Однако сервер должен быть готов к приему запроса на соединение. Ранее серверы с демонами sendmail могли принимать любые электронные сообщения, но в настоящее время из-за большого объема спама в большинстве серверов встроена проверка и допуск почтовых сообщений только от разрешенных пользователей или IP-адресов.

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

  1. Создайте сокет на вашем компьютере:
  2. В выходном потоке передайте следующую информацию:

В спецификации протокола SMTP(документ RFC 821) требуется, чтобы строки заканчивались символами /r и /n.

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