it-swarm-id.com

Bagaimana cara mengirim Pesan SMTP dari Jawa?

Kemungkinan Duplikat:
Bagaimana Anda mengirim email dari aplikasi Java menggunakan Gmail?

Bagaimana cara mengirim Pesan SMTP dari Jawa?

24
Allain Lalonde

Berikut ini contoh untuk 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("[email protected]"));;
        msg.setRecipients(Message.RecipientType.TO,
        InternetAddress.parse("[email protected]", 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", "[email protected]", "<insert password here>");
        t.sendMessage(msg, msg.getAllRecipients());
        System.out.println("Response: " + t.getLastServerResponse());
        t.close();
    }
}

Sekarang, lakukan dengan cara ini hanya jika Anda ingin menjaga dependensi proyek Anda ke minimum, kalau tidak saya bisa merekomendasikan menggunakan kelas dari Apache

http://commons.Apache.org/email/

Salam

Tov Are Jacobsen

35
tovare

Cara lain adalah dengan menggunakan aspirin ( https://github.com/masukomi/aspirin ) seperti ini:

MailQue.queMail(MimeMessage message)

..setelah membangun mimemageage Anda seperti di atas.

Aspirin adalah 'server' smtp sehingga Anda tidak perlu mengkonfigurasinya. Tetapi perhatikan bahwa mengirim email ke sejumlah besar penerima tidak sesederhana yang muncul karena banyak aturan penyaringan spam yang menerima server surat dan aplikasi klien berlaku. 

6
brad

Silakan lihat posting ini 

Bagaimana saya bisa mengirim email dengan aplikasi Java menggunakan GMail, Yahoo, atau Hotmail?

Ini khusus untuk gmail tetapi Anda dapat mengganti kredensial smtp Anda.

3
Ryan Lanciaux

Lihat API JavaMail dan javadocs terkait.

2
Mason

Lihat tutorial berikut di Praktek Java.

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

1
Jorge Ferreira
import javax.mail.*;
import javax.mail.internet.*;
import Java.util.*; 

public void postMail(String recipients[], String subject,
    String message , String from) throws MessagingException {

    //Set the Host smtp address
    Properties props = new Properties();
    props.put("mail.smtp.Host", "smtp.jcom.net");

    // create some properties and get the default Session
    Session session = Session.getDefaultInstance(props, null);
    session.setDebug(false);

    // create a message
    Message msg = new MimeMessage(session);

    // set the from and to address
    InternetAddress addressFrom = new InternetAddress(from);
    msg.setFrom(addressFrom);

    InternetAddress[] addressTo = new InternetAddress[recipients.length]; 
    for (int i = 0; i < recipients.length; i++) {
        addressTo[i] = new InternetAddress(recipients[i]);
    }
    msg.setRecipients(Message.RecipientType.TO, addressTo);

    // Optional : You can also set your custom headers in the Email if you Want
    msg.addHeader("MyHeaderName", "myHeaderValue");

    // Setting the Subject and Content Type
    msg.setSubject(subject);
    msg.setContent(message, "text/plain");
    Transport.send(msg);
}
0
user527619