Topik ini menyajikan contoh panggilan SMTP yang berlaku untuk Java.
Konfigurasi Alibaba Mail
Alamat server SMTP: smtp.sg.aliyun.com
Port: tanpa enkripsi adalah 25, sedangkan dengan enkripsi SSL adalah 465.
//pom.xml Tambahkan referensi ke javax.mail, atau proyek memperkenalkan paket jar dari javax.mail.
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.Security;
import java.util.Date;
import java.util.Properties;
public class QiyeMailSend {
public static void main(String[] args) {
try{
// Atur koneksi SSL dan lingkungan email.
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
Properties props = System.getProperties();
// Protokol.
//props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.host", "smtp.sg.aliyun.com");// Server SMTP.
// props.setProperty("mail.smtp.port", "25");// Port tanpa enkripsi.
// Konfigurasikan metode enkripsi SSL sebagai berikut:
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.setProperty("mail.smtp.auth", "true");// Menunjukkan bahwa SMTP mengirim email dan autentikasi diperlukan.
props.setProperty("mail.smtp.from", "Alamat pengirim");// Parameter mailfrom.
props.setProperty("mail.user","Alamat pengirim");// Akun pengirim.
props.setProperty("mail.password","Kata sandi pengirim");// Kata sandi akun pengirim. Jika kata sandi keamanan klien pihak ketiga diaktifkan, gunakan kata sandi baru.
// Buat sesi email.
Session session = Session.getDefaultInstance(props, new Authenticator() {
// Otentikasi identitas
protected PasswordAuthentication getPasswordAuthentication() {
// Akun dan kata sandi pengirim.
String userName = props.getProperty("mail.user");
String password = props.getProperty("mail.password");
return new PasswordAuthentication(userName, password);
}
});
// Buat objek email.
MimeMessage message = new MimeMessage(session);
// Tentukan pengirim email.
InternetAddress from=new InternetAddress("alamat pengirim","nama pengirim"); //parameter from, yang dapat merealisasikan pengiriman pengganti. Catatan: pengiriman pengganti mudah ditolak oleh penerima atau masuk ke kotak sampah.
message.setFrom(from);
// Atur penerima email.
String[] to = {"Alamat penerima 1","Alamat penerima 2","Alamat penerima 3"};// Daftar penerima.
InternetAddress[] sendTo = new InternetAddress[to.length];
for (int i=0;i<to.length;i++){
// System.out.println("Kirim ke:" + to[i]);
sendTo[i] = new InternetAddress(to[i]);
}
// Tentukan penerima.
message.setRecipients(Message.RecipientType.TO,sendTo);
// Atur subjek email.
message.setSubject("Subjek Email");
// Atur teks email.
String content="isi";
message.setContent(content,"text/html;charset=UTF-8");
// Tentukan waktu.
message.setSentDate(new Date());
message.saveChanges();
// Kirim email.
Transport.send(message);
System.out.println("Terkirim berhasil! ");
}catch(Exception e){
System.out.println("Pengecualian:"+ e.toString());
}
}
}