當前位置:文思屋>社會工作>IT認證>

Java認證考試:Spring實現郵件傳送

文思屋 人氣:4.84K

Spring提供了一個傳送郵件的抽象層,使傳送郵件實現非常簡單。下面程式碼需要mail.jar包,如果伺服器需要認證,必須加入如下加粗程式碼:

Java認證考試:Spring實現郵件傳送

原始檔:SendMail.java:

package mail;

import org.springframework.mail.javamail.JavaMailSenderImpl;

import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.internet.MimeMessage;

import java.util.Properties;

import java.util.Date;

/**

* @author chrischen

*/

public class SendMail {

//郵件傳送器

public static String Sender(String subject, String msg, String sendTo, String fromMail, String user, String pw, String fromName, String protocol, String host, String port){

try{

final String username = user;

final String pass = pw;

//需要認證

Properties props = new Properties();

props.put(“mail.smtp.host”, host);

props.put(“mail.smtp.auth”, “true”);

props.put(“mail.transport.protocol”, protocol);

props.put(“mail.from”, fromMail);

//建立傳送器

JavaMailSenderImpl sender = new JavaMailSenderImpl();

sender.setHost(host);

sender.setUsername(username);

sender.setPassword(pass);

//建立訊息

MimeMessage message = sender.createMimeMessage();

message.addHeader(“X-Mailer”, “Java Mailer”);

MimeMessageHelper helper = new MimeMessageHelper(message);

helper.setTo(sendTo);

helper.setFrom(fromMail, fromName);

helper.setSubject(subject);

helper.setText(msg);

helper.setSentDate(new Date());

//開始傳送

sender.setJavaMailProperties(props);

sender.send(message);

}catch(Exception e){

System.out.println(“Error:” + e);

return “Failure”;

}

return “Success”;

}

//測試

public static void main(String args[])throws Exception

{

String subject = “測試郵件”;//標題

String sendTo = “[email protected]”;//接收者郵件

String fromMail = “[email protected]”;//傳送者郵件

String user = “[email protected]”;//傳送者使用者

String pw = “password”;//傳送者郵件密碼

String fromName = “Chen”;//傳送者名字

String protocol = “smtp”;//協議

String host = “smtp.my.com”;//傳送主機

String port = “25”;//埠

String msg = “簡單郵件傳送。”;//傳送內容

String ret = Sender(subject, msg, sendTo, fromMail, user, pw, fromName, protocol, host, port);

System.out.println(“郵件傳送結果:” + ret);

}

}

使用MimeMessageHelper,可以實現Multipart email,方便新增附件和內嵌資源等。