Как я отправляю сообщение SMTP от Java? [дубликат]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

25
задан Community 23 May 2017 в 12:10
поделиться

5 ответов

Вот пример для Gmail smtp:

import java.io.*;
import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;

import javax.mail.*;

import javax.mail.internet.*;

import com.sun.mail.smtp.*;


public class Distribution {

    public static void main(String args[]) throws Exception {
        Properties props = System.getProperties();
        props.put("mail.smtps.host","smtp.gmail.com");
        props.put("mail.smtps.auth","true");
        Session session = Session.getInstance(props, null);
        Message msg = new MimeMessage(session);
        msg.setFrom(new InternetAddress("mail@tovare.com"));;
        msg.setRecipients(Message.RecipientType.TO,
        InternetAddress.parse("tov.are.jacobsen@iss.no", false));
        msg.setSubject("Heisann "+System.currentTimeMillis());
        msg.setText("Med vennlig hilsennTov Are Jacobsen");
        msg.setHeader("X-Mailer", "Tov Are's program");
        msg.setSentDate(new Date());
        SMTPTransport t =
            (SMTPTransport)session.getTransport("smtps");
        t.connect("smtp.gmail.com", "admin@tovare.com", "<insert password here>");
        t.sendMessage(msg, msg.getAllRecipients());
        System.out.println("Response: " + t.getLastServerResponse());
        t.close();
    }
}

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

http://commons.apache.org/email/

Отношения

, Tov Являются Jacobsen

36
ответ дан 4 revs, 2 users 97% 28 November 2019 в 20:52
поделиться

Иначе должен использовать аспирин ( https://github.com/masukomi/aspirin) как это:

MailQue.queMail(MimeMessage message)

.. создав Ваш mimemessage как выше.

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

6
ответ дан brad 28 November 2019 в 20:52
поделиться

Пожалуйста, см. Этот пост

Как я могу отправить электронное письмо с помощью приложения Java, используя GMail, Yahoo или Hotmail?

Это характерно для gmail, но вы можете подставьте свои учетные данные smtp.

3
ответ дан Community 28 November 2019 в 20:52
поделиться

Посмотрите JavaMail API и связанный javadocs.

2
ответ дан Gray 28 November 2019 в 20:52
поделиться

См. Следующий учебник по Java Practices.

http://www.javapractices.com/topic/TopicAction.do?Id=144

2
ответ дан Jorge Ferreira 28 November 2019 в 20:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: