JavaMail发邮件【不带附件】
package test;import java.util.ArrayList;import java.util.List;public class MailBean {// 发送邮件服务器private String hostName = "smtp.163.com";// 发送邮件服务器端口private int port = 25;// 发送者邮箱用户名private String userName = "xxx";// 发送者邮箱密码private String password = "xxx";// 邮件接收者private String[] toAddress = new String[]{"xxx@163.com","xxx@qq.com"};// 邮件主题private String subject = "JavaMial 测试";// 邮件内容private String content = "这是一封JavaMail测试邮件";// 邮件发送者private String fromAddress = "xxx@163.com";//附件路径列表private List<String> fileList=new ArrayList<String>();public List<String> getFileList() {return fileList;}public void setFileList(List<String> fileList) {this.fileList = fileList;}public String getFromAddress() {return fromAddress;}public void setFromAddress(String fromAddress) {this.fromAddress = fromAddress;}public int getPort() {return port;}public void setPort(int port) {this.port = port;}public String getHostName() {return hostName;}public void setHostName(String hostName) {this.hostName = hostName;}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[] getToAddress() {return toAddress;}public void setToAddress(String[] toAddress) {this.toAddress = toAddress;}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;}} package test;import java.util.Properties;import javax.mail.Address;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class JavaMail {@SuppressWarnings("static-access")public void setMail(MailBean mailBean) {try {// 设置JavaMail属性Properties props = new Properties();// 设置邮件服务器端口props.put("mail.smtp.port", mailBean.getPort());// SMTP邮件服务器IP地址或主机名props.put("mail.smtp.host", mailBean.getHostName());props.put("mail.smtp.auth", "true");// 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)EmailAuthenticator auth = new EmailAuthenticator(mailBean.getUserName(), mailBean.getPassword());// 根据已配置的JavaMail属性创建Session实例Session mailSession = Session.getInstance(props, (Authenticator) auth);// 你可以在控制台(console)上看到发送邮件的过程mailSession.setDebug(true);MimeMessage msg = new MimeMessage(mailSession);// 设置邮件接收者String[] toAddress = mailBean.getToAddress();for (int i = 0; i < mailBean.getToAddress().length; i++) {Address address = new InternetAddress(toAddress.toString());msg.addRecipient(Message.RecipientType.TO, address);}// 调置邮件主题msg.setSubject(mailBean.getSubject());// 设置邮件发送者msg.setFrom(new InternetAddress(mailBean.getFromAddress()));// 设置邮件正文msg.setText(mailBean.getContent());// 创建Transport对象Transport tran = mailSession.getTransport("smtp");// 连接邮件服务器tran.connect(mailBean.getHostName(), mailBean.getUserName(), mailBean.getPassword());// 发送邮件tran.send(msg);tran.close();} catch (AddressException e) {e.printStackTrace();} catch (MessagingException e) {e.printStackTrace();}}// 邮件用户身份验证类class EmailAuthenticator extends Authenticator {private String username;private String userpass;EmailAuthenticator(String un, String up) {super();username = un;userpass = up;}public PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(username, userpass);}}public static void main(String[] args) {JavaMail javaMail = new JavaMail();MailBean mailBean = new MailBean();javaMail.setMail(mailBean);}}
页:
[1]