需要的jar包
mail.jar
activation.jar
下载地址http://java.sun.com/products/javamail/downloads/index.html
一、纯文本发送
- import java.util.Date;
- import java.util.Properties;
- import javax.mail.Message;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- public class SimpleTextEmail {
- private String smtpServer;//email接收者的服务器地址
- private String from;//发送者的email地址 注意要带有@,或正确的email地址,否则会出现异常
- private String to;//接收者的email地址
- private String subject;//email标题
- private String body;//email正文
- public SimpleTextEmail(String smtp,String from,String to,String subject,String body){
- this.smtpServer=smtp;
- this.from=from;
- this.to=to;
- this.subject=subject;
- this.body=body;
- }
- public void sendEmail(){
- try {
- //设置smtp
- Properties props = System.getProperties();
- props.put("mail.smtp.host", smtpServer);
- //Session类定义了基本的邮件会话
- Session session = Session.getDefaultInstance(props, null);
- Message msg = new MimeMessage(session);
- msg.setFrom(new InternetAddress(from));//设置发送者的email
- msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to, false));
- //设置接收者
- msg.setSubject(subject);//设置email标题
- msg.setText(body);//设置email正文
- msg.setSentDate(new Date());设置email发送的日期
- Transport.send(msg);//发送email
- } catch(SendFailedException e){
- e.printStackTrace(); //接收者的email地址错误
- } catch(MessagingException e){
- e.printStackTrace(); //smptServer地址错误
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
二、带附件的发送
- import java.util.Date;
- import java.util.Properties;
- import javax.mail.Message;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- public class SimpleTextEmail {
- private String smtpServer;//email接收者的服务器地址
- private String from;//发送者的email地址 注意要带有@,或正确的email地址,否则会出现异常
- private String to;//接收者的email地址
- private String subject;//email标题
- private String body;//email正文
- private String selectFileString;//附件的地址
- public SimpleTextEmail(String smtp,String from,String to,String subject,String body, String file){
- this.smtpServer=smtp;
- this.from=from;
- this.to=to;
- this.subject=subject;
- this.body=body;
- this.selectFileString=file;
- }
- public void sendEmail(){
- try {
- //设置smtp
- Properties props = System.getProperties();
- props.put("mail.smtp.host", smtpServer);
- //Session类定义了基本的邮件会话
- Session session = Session.getDefaultInstance(props, null);
- Message msg = new MimeMessage(session);
- msg.setFrom(new InternetAddress(from));//设置发送者的email
- msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to, false));
- //设置接收者
- msg.setSubject(subject);//设置email标题
- BodyPart messageBodyPart=new MimeBodyPart();
- //Fill the message
- messageBodyPart.setText(BODY);
- Multipart multipart=new MimeMultipart();
- multipart.addBodyPart(messageBodyPart);
- //配置附件
- messageBodyPart=new MimeBodyPart();
- DataSource source=new FileDataSource(selectFileString);
- messageBodyPart.setDataHandler(new DataHandler(source));//添加附件
- messageBodyPart.setFileName(source.getName());//设置附件名
- multipart.addBodyPart(messageBodyPart);
- msg.setContent(multipart);
- Transport.send(msg); //发送
- } catch(SendFailedException e){
- e.printStackTrace(); //接收者的email地址错误
- } catch(MessagingException e){
- e.printStackTrace(); //smptServer地址错误
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }