JavaMail отправляет электронные письма, используя почтовый сервер, как правило, через интерфейс SMTP поставщика электронной почты. Нужно ли использовать почтовый сервер для отправки электронной почты?
У меня есть веб-сайт, который будет отправлять электронные письма, и, если возможно, я хотел бы отправлять электронные письма непосредственно с кода веб-сайта без использования сервера электронной почты. В FAQ по JavaMail говорится, что требуется почтовый сервер.
Есть ли способ отправлять электронную почту без использования почтового сервера, с помощью JavaMail или другого API?
Ответы:
Вы можете доставить электронное письмо напрямую на один из SMTP-серверов, упомянутых в записи MX домена адреса. Обычно это плохая идея:
Доставка почты на локальный сервер происходит быстро - вы можете почти сразу продолжить работу, сделать что-то еще и позволить серверу обработать доставку.
Фактическая доставка может занять некоторое время, например, удаленный почтовый сервер может работать медленно. Или же он может сначала отклонить письмо - это известная стратегия борьбы со спамом, когда отправителю предлагается повторить попытку отправки почты, чего не делают некоторые спам-боты.
Также почтовый сервер может легко повторить попытку через день или около того, когда удаленный сервер не работает, это снижает риск потери почты.
источник
Все зависит от того, что именно вы подразумеваете под «использованием».
Если «использование» включает в себя только прямое использование почтового сервера, то вы можете передать почту для косвенной отправки через какой-либо вид службы на почтовый сервер. Для практического использования это решение мне кажется «Good Enough ™».
Однако, если ваш вопрос означает буквально « без участия какого-либо сервера электронной почты вообще », это было бы возможно только в том случае, если ваше программное обеспечение способно помещать почту в папку «Входящие» целевого клиента каким-либо способом по вашему выбору, кроме POP3. или IMAP или любой другой протокол, относящийся к электронной почте, используемый в контексте электронной почты (поскольку, если вы будете использовать такой протокол, эта конкретная программа будет действовать как почтовый сервер, что недопустимо)
Чтобы ответить на вопрос: да. По крайней мере, в теории.
источник
Если нам нужно отправить письмо кому-то из Java-кода, нам нужно иметь доступ к некоторым учетным данным почтового сервера. Ну не всегда.
Google предоставил бесплатный доступ к одному из своих почтовых серверов, и вы можете использовать его в коде Java. Ниже написан код, если больше похож на заметку к себе. Так что, если мне это когда-нибудь понадобится, вы можете обратиться сюда: http://www.computerbuzz.in/2014/02/how-to-send-email-in-java-using-gmail.html
источник