Java Mail example.

本文提供了一个使用Java发送邮件的示例代码,介绍了如何通过SMTP协议配置邮件服务器属性,并利用MimeMessage创建邮件实例,设置邮件的发件人、收件人、主题及内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



package com.statestr.ssc;


import java.util.Date;
import java.util.Properties;

import javax.mail.AuthenticationFailedException;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

/**
*
* @author AjunBoys
*
*/
public class Email {
private String host;
private String username;
private String password;
private String from;
private String to;
private String subject;
private String content;

public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}

public Email(){
this.host = "smtp.126.com";
this.username = "wlq0215";
this.password = "******";
this.from = "wlq0215@126.com";
}
public static void main(String[] args) {
Email email = new Email();
email.setContent("hello");
email.sendMail("wlq0215@126.com", "****");
}
//发送邮件
public boolean sendMail(String from,String to){

try{
Properties props = new Properties();//存储连接参数
props.put("mail.smtp.host", host); //smtp主机
props.put("mail.smtp.auth", "true"); //需要身份验证

Session session = Session.getInstance(props);
//获取一个邮件session
session.setDebug(true);
MimeMessage message = new MimeMessage(session); //邮件会话新建一个邮件信息

//检查邮件地址是否合法
if(from == null || from ==""){
throw new Exception("Error Email Address in From.");
}
if(to == null || to ==""){
throw new Exception("Error Email Address in To.");
}

//设置源地址
//message.setFrom(new InternetAddress(from)); //等价于下面两条代码
InternetAddress addressFrom = new InternetAddress(from);
message.setFrom(addressFrom);

//设置目的地址
InternetAddress addressTo = new InternetAddress(to);
message.setRecipient(Message.RecipientType.TO, addressTo);
message.setSubject(subject);
//message.setText(content); //邮件正文

Multipart mp = new MimeMultipart();//邮件内容
MimeBodyPart mbpContent = new MimeBodyPart();
mbpContent.setContent(content,"text/html"); //邮件格式

//向MimeMessage添加代表正文(Multipart)
mp.addBodyPart(mbpContent);
message.setContent(mp);
message.setSentDate(new Date()); //设置发送的时间

Transport transport = session.getTransport("smtp"); //设置邮件传输

transport.connect((String)props.get("mail.smtp.host"), username, password); //连接主机

transport.sendMessage(message, message.getRecipients(MimeMessage.RecipientType.TO)); //发送邮件

System.out.println("Send Success !");

transport.close(); //关闭传输

return true;

}catch(AuthenticationFailedException e){
e.printStackTrace();
return false;
} catch(MessagingException e){
e.printStackTrace();
return false;
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值