使用Java-mail 发送邮件

首先:

我们准备工作需要准备 

jar包   mail.jar

<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

POP3/SMTP服务  以qq为例

发送邮箱的账号  *********.@qq.com

发送邮箱授权码  获取流程如下

进入邮箱,点击设置

拉到最后,将POP3服务开启

之后生成授权码

获取授权码 

这样 准备工作基本完成就可以写代码了

这是自己写的一个工具类,注释也加上了,虽然自带debug信息,但是那个比较多,所以在每个方法中打印输出了一下,默认使用的是qq的邮箱,更改至于要修改相应位置的属性就行

 
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;


/**
*
* 项目名称:JavaMail
* 类名称:SendMail
* 类描述:
* 创建人:Ai
* 创建时间:2018年5月2日 下午3:49:45
* 修改人:Ai
* 修改时间:2018年5月2日 下午3:49:45
* 修改备注:javaMail封装代码
* @version JM-0.1
*
*/
public class SendMail {
	private final String username = "*****@qq.com"; //发送邮件的邮箱
	private final String password = "*********";   //发送邮箱的授权码
	private Authenticator auth = null;
	private MimeMessage mimeMessage = null;
	private Properties pros = null;
	private Multipart multipart = null;
	private BodyPart bodypart = null;

	/**
	 * 初始化账号密码并验证 创建MimeMessage对象 发送邮件必须的步骤:1
	 * 
	 * @param username
	 * @param password
	 */
	public SendMail() {
		Map<String, String> map = new HashMap<String, String>();
		// 你的发送邮箱账号 POP3/SMTP服务 授权码
		map.put("mail.smtp.host", "smtp.qq.com");
		map.put("mail.smtp.auth", "true");
		map.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
		map.put("mail.smtp.port", "465");
		map.put("mail.smtp.socketFactory.port", "465");
		setPros(map);
		initMessage();
	}
	 
	/**
	 * 设置email系统参数 接收一个map集合key为string类型,值为String 发送邮件必须的步骤:2
	 * 
	 * @param map
	 */
	public boolean setPros(Map<String, String> map) {
		pros = new Properties();
		try {
			for (Map.Entry<String, String> entry : map.entrySet()) {
				pros.setProperty(entry.getKey(), entry.getValue());
			}
			System.out.println("设置email参数成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 初始化MimeMessage对象 发送邮件必须的步骤:3
	 */
	public boolean initMessage() {
		this.auth = new Email_Autherticator();
		try {
			Session session = Session.getDefaultInstance(pros, auth);
			session.setDebug(false); // 设置获取 debug 信息
			mimeMessage = new MimeMessage(session);
			System.out.println("初始化成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 验证账号密码 发送邮件必须的步骤
	 * 
	 * @author Administrator
	 *
	 */
	public class Email_Autherticator extends Authenticator {
		public PasswordAuthentication getPasswordAuthentication() {
			return new PasswordAuthentication(username, password);
		}
	}

	/**
	 * 设置发送邮件的基本参数(去除繁琐的邮件设置)
	 * 
	 * @param sub
	 *            设置邮件主题
	 * @param text
	 *            设置邮件文本内容
	 * @param rec
	 *            设置邮件接收人
	 * @throws MessagingException
	 * @throws UnsupportedEncodingException
	 */
	public boolean setDefaultMessagePros(String sub, String text, String rec)
			throws MessagingException, UnsupportedEncodingException {
		try {
			mimeMessage.setSubject(sub);
			mimeMessage.setText(text);
			mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(rec));
			mimeMessage.setSentDate(new Date());
			mimeMessage.setFrom(new InternetAddress(username, username));
			System.out.println("设置邮件发送基本参数成功!(主题、内容、接收人)");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 设置主题
	 * 
	 * @param subject
	 * @throws MessagingException
	 */
	public boolean setSubject(String subject) throws MessagingException {
		try {
			mimeMessage.setSubject(subject);
			System.out.println("设置邮件主题[" + subject + "]成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 设置日期
	 * 
	 * @param date
	 *            邮件发送的日期
	 * @throws MessagingException
	 */
	public boolean setDate(Date date) throws MessagingException {

		try {
			mimeMessage.setSentDate(date);
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String format = sdf.format(date);
			System.out.println("设置邮件发送日期[" + format + "]成功!");
			return true;
		} catch (Exception e) {

			return false;
		}
	}

	/**
	 * 设置日期
	 * 
	 * @param millisecond
	 *            邮件延时发送时间(毫秒)  //暂不好使
	 * @throws MessagingException
	 */
	public boolean setDate(long millisecond) throws MessagingException {
		Date date = new Date();
		System.out.println(date);
		date.setTime(date.getTime() + millisecond);
		try {
			mimeMessage.setSentDate(date);
			System.out.println("设置邮件发送延时[" + millisecond + "]毫秒成功!");
		} catch (Exception e) {
			System.out.println("设置邮件发送日期[" + millisecond + "]失败!");
			return false;
		}
		return true;

	}


	/**
	 * 设置邮件接收人地址 <单人发送>
	 * 
	 * @param recipient
	 * @throws MessagingException
	 */
	public boolean setRecipient(String recipient) throws MessagingException {
		try {
			if (recipient.isEmpty()) {
				System.out.println("接收人地址为空!");
				return false;
			} else {
				mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
				System.out.println("设置接收人地址为[" + recipient + "]成功!");
				return true;
			}
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 设置邮件接收人地址 <多人发送>
	 * 
	 * @param list
	 * @throws MessagingException
	 * @throws AddressException
	 */
	public boolean setRecipients(List<String> recs) throws AddressException, MessagingException {
		try {
			if (recs.isEmpty()) {
				System.out.println("接收人地址为空!");
				return false;
			}
			for (String str : recs) {
				mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(str));
			}
			System.out.println("设置接收人地址" + recs + "成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 设置邮件接收人地址 <多人发送>
	 * 
	 * @param StringBuffer<parms,parms2,parms.....>
	 * @throws MessagingException
	 * @throws AddressException
	 */
	@SuppressWarnings("static-access")
	public boolean setRecipients(StringBuffer sb) throws AddressException, MessagingException {
		try {
			if (sb == null || "".equals(sb)) {
				System.out.println("字符串数据为空!");
				return false;
			}
			Address[] address = new InternetAddress().parse(sb.toString());
			mimeMessage.addRecipients(Message.RecipientType.TO, address);
			System.out.println("设置接收人地址[" + sb + "]成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 设置邮件发送人的名字
	 * 
	 * @param from
	 * @throws UnsupportedEncodingException
	 * @throws MessagingException
	 */
	public boolean setFrom(String from) throws UnsupportedEncodingException, MessagingException {
		try {
			if (from.isEmpty()) {
				System.out.println("邮件发送人名字为空!");
				return false;
			} else {
				mimeMessage.setFrom(new InternetAddress(username, from));
				System.out.println("设置邮件发送人名字[" + from + "]成功!");
				return true;
			}
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 发送邮件<单人发送> return 是否发送成功
	 * 
	 * @throws MessagingException
	 *             发送异常
	 */
	public boolean sendMessage() {
		try {
			Transport.send(mimeMessage);
			System.out.println("----------------发送成功----------------");
			return true;
		} catch (MessagingException e) {
			return false;
		}
	}

	/**
	 * 设置附件
	 * 
	 * @param file
	 *            发送文件的路径
	 * @throws MessagingException
	 *             发送异常
	 * @throws IOException
	 *             文件IO异常
	 * 
	 */
	public boolean setMultipart(String file) throws MessagingException, IOException {
		try {
			if (multipart == null) {
				multipart = new MimeMultipart();
			}
			multipart.addBodyPart(writeFiles(file));
			mimeMessage.setContent(multipart);
			System.out.println("设置邮件附件" + file + "成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 设置附件<添加多附件>
	 * 
	 * @param fileList<接收List集合>
	 * @throws MessagingException
	 *             发送异常
	 * @throws IOException
	 *             文件IO异常
	 */
	public boolean setMultiparts(List<String> fileList) throws MessagingException, IOException {
		try {
			if (multipart == null) {
				multipart = new MimeMultipart();
			}
			for (String s : fileList) {
				multipart.addBodyPart(writeFiles(s));
			}
			mimeMessage.setContent(multipart);
			System.out.println("设置邮件附件" + fileList + "成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 发送文本内容,设置编码方式 <方法与发送附件配套使用> <发送普通的文本内容请使用setText()方法>
	 * 
	 * @param s
	 *            发送的文本内容
	 * @param type
	 *            编码格式
	 * @throws MessagingException
	 */
	public boolean setContent(String s, String type) throws MessagingException {
		try {
			if (multipart == null) {
				multipart = new MimeMultipart();
			}
			bodypart = new MimeBodyPart();
			bodypart.setContent(s, type);
			multipart.addBodyPart(bodypart);
			mimeMessage.setContent(multipart);
			mimeMessage.saveChanges();
			System.out.println("设置邮件内容[" + s + "]成功!");
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 读取附件
	 * 
	 * @param filePath
	 *            文件路径
	 * @return
	 * @throws IOException
	 * @throws MessagingException
	 */
	public BodyPart writeFiles(String filePath) throws IOException, MessagingException {
		File file = new File(filePath);
		if (!file.exists()) {
			throw new IOException("文件不存在!请确定文件路径是否正确");
		}
		bodypart = new MimeBodyPart();
		DataSource dataSource = new FileDataSource(file);
		bodypart.setDataHandler(new DataHandler(dataSource));
		// 文件名要加入编码,不然出现乱码
		bodypart.setFileName(MimeUtility.encodeText(file.getName()));
		return bodypart;
	}
	
//----------------------------------------------------------------------------------------------------------------------------
	public static void main(String[] args) throws MessagingException, IOException {
		SendMail mail = new SendMail();

		/*
		 * 调用setRecipients(list);发送list集合类型 List<String> list = new
		 * ArrayList<String>(); list.add("********@qq.com");
		 */
		  List<String> list = new ArrayList<String>();
		  list.add("45244445@qq.com"); 
		  mail.setRecipients(list); // 输出信息
	
		// 邮件主题
		mail.setSubject("AI测试Java邮箱功能");
		
		// 发送时间 Date类型(默认即时发送)
		mail.setDate(new Date()); 
		//mail.setDate(100);
		
		// 发送者昵称
		mail.setFrom("AI");

		// 邮件内容
		mail.setContent("你的验证码为:<a>fds</a>", "text/html; charset=UTF-8");

		// 附件集合
		List<String> fileList = new ArrayList<String>();

		// 添加附件
		fileList.add("D:1.jpg");
		mail.setMultiparts(fileList);

		mail.sendMessage(); // 是否发送成功
	}
}

我将代码整理了一下封装了简单的发送方法

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 *
 * 项目名称:JavaMail 类名称:SendMail 类描述: 创建人:Ai 创建时间:2018年5月2日 下午3:49:45 修改人:Ai
 * 修改时间:2018年5月2日 下午3:49:45 修改备注:javaMail封装代码
 *
 * @version JM-0.1
 *
 */
/**
 * @author Administrator
 *
 */
/**
 * @author Administrator
 *
 */
public class SendMail {
    private final String username = "1204175746@qq.com"; // 发送邮件的邮箱
    private final String password = "kyemeprfiscmfgfd";// 发送邮箱的授权码
    private Authenticator auth = null;
    private MimeMessage mimeMessage = null;
    private Properties pros = null;
    private Multipart multipart = null;
    private BodyPart bodypart = null;

    /**
     * 初始化账号密码并验证 创建MimeMessage对象 发送邮件必须的步骤:1
     *
     */
    public SendMail() {
        Map<String, String> map = new HashMap<String, String>();
        // 你的发送邮箱账号 POP3/SMTP服务 授权码
        map.put("mail.smtp.host", "smtp.qq.com");
        map.put("mail.smtp.auth", "true");
        map.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        map.put("mail.smtp.port", "465");
        map.put("mail.smtp.socketFactory.port", "465");
        setPros(map);
        initMessage();
    }

    /**
     * 设置email系统参数 接收一个map集合key为string类型,值为String 发送邮件必须的步骤:2
     *
     * @param map
     */
    public boolean setPros(Map<String, String> map) {
        pros = new Properties();
        try {
            for (Map.Entry<String, String> entry : map.entrySet()) {
                pros.setProperty(entry.getKey(), entry.getValue());
            }
            //System.out.println("设置email参数成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 初始化MimeMessage对象 发送邮件必须的步骤:3
     */
    public boolean initMessage() {
        this.auth = new Email_Autherticator();
        try {
            Session session = Session.getDefaultInstance(pros, auth);
            session.setDebug(false); // 设置获取 debug 信息
            mimeMessage = new MimeMessage(session);
            //System.out.println("初始化成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 验证账号密码 发送邮件必须的步骤
     *
     * @author Administrator
     *
     */
    public class Email_Autherticator extends Authenticator {
        public PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
    }

    /**
     * 设置发送邮件的基本参数(去除繁琐的邮件设置)
     *
     * @param sub
     *            设置邮件主题
     * @param text
     *            设置邮件文本内容
     * @param rec
     *            设置邮件接收人
     * @throws MessagingException
     * @throws UnsupportedEncodingException
     */
    public boolean setDefaultMessagePros(String sub, String text, String rec)
            throws MessagingException, UnsupportedEncodingException {
        try {
            mimeMessage.setSubject(sub);
            mimeMessage.setText(text);
            mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(rec));
            mimeMessage.setSentDate(new Date());
            mimeMessage.setFrom(new InternetAddress(username, username));
            //System.out.println("设置邮件发送基本参数成功!(主题、内容、接收人)");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 设置主题
     *
     * @param subject
     * @throws MessagingException
     */
    public boolean setSubject(String subject) throws MessagingException {
        try {
            mimeMessage.setSubject(subject);
            //System.out.println("设置邮件主题[" + subject + "]成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 设置日期
     *
     * @param date
     *            邮件发送的日期
     * @throws MessagingException
     */
    public boolean setDate(Date date) throws MessagingException {

        try {
            mimeMessage.setSentDate(date);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String format = sdf.format(date);
            //System.out.println("设置邮件发送日期[" + format + "]成功!");
            return true;
        } catch (Exception e) {

            return false;
        }
    }

    /**
     * 设置日期
     *
     * @param millisecond
     *            邮件延时发送时间(毫秒) //暂不好使
     * @throws MessagingException
     */
    public boolean setDate(long millisecond) throws MessagingException {
        Date date = new Date();
        //System.out.println(date);
        date.setTime(date.getTime() + millisecond);
        try {
            mimeMessage.setSentDate(date);
            //System.out.println("设置邮件发送延时[" + millisecond + "]毫秒成功!");
        } catch (Exception e) {
            //System.out.println("设置邮件发送日期[" + millisecond + "]失败!");
            return false;
        }
        return true;

    }

    /**
     * 设置邮件接收人地址 <单人发送>
     *
     * @param recipient
     * @throws MessagingException
     */
    public boolean setRecipient(String recipient) throws MessagingException {
        try {
            if (recipient.isEmpty()) {
                //System.out.println("接收人地址为空!");
                return false;
            } else {
                mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
                //System.out.println("设置接收人地址为[" + recipient + "]成功!");
                return true;
            }
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 设置邮件接收人地址 <多人发送>
     *
     * @param recs
     * @throws MessagingException
     * @throws AddressException
     */
    public boolean setRecipients(List<String> recs) throws AddressException, MessagingException {
        try {
            if (recs.isEmpty()) {
                //System.out.println("接收人地址为空!");
                return false;
            }
            for (String str : recs) {
                mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(str));
            }
            //System.out.println("设置接收人地址" + recs + "成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 设置邮件接收人地址 <多人发送>
     *
     * @param  sb
     * @throws MessagingException
     * @throws AddressException
     */
    @SuppressWarnings("static-access")
    public boolean setRecipients(StringBuffer sb) throws AddressException, MessagingException {
        try {
            if (sb == null || "".equals(sb)) {
                //System.out.println("字符串数据为空!");
                return false;
            }
            Address[] address = new InternetAddress().parse(sb.toString());
            mimeMessage.addRecipients(Message.RecipientType.TO, address);
            //System.out.println("设置接收人地址[" + sb + "]成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 设置邮件发送人的名字
     *
     * @param from
     * @throws UnsupportedEncodingException
     * @throws MessagingException
     */
    public boolean setFrom(String from) throws UnsupportedEncodingException, MessagingException {
        try {
            if (from.isEmpty()) {
                //System.out.println("邮件发送人名字为空!");
                return false;
            } else {
                mimeMessage.setFrom(new InternetAddress(username, from));
                //System.out.println("设置邮件发送人名字[" + from + "]成功!");
                return true;
            }
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 发送邮件<单人发送> return 是否发送成功
     *
     * @throws MessagingException
     *             发送异常
     */
    public boolean sendMessage() {
        try {
            Transport.send(mimeMessage);
            System.out.println("----------------发送成功----------------");
            return true;
        } catch (MessagingException e) {
            return false;
        }
    }

    /**
     * 设置附件
     *
     * @param file
     *            发送文件的路径
     * @throws MessagingException
     *             发送异常
     * @throws IOException
     *             文件IO异常
     *
     */
    public boolean setMultipart(String file) throws MessagingException, IOException {
        try {
            if (multipart == null) {
                multipart = new MimeMultipart();
            }
            multipart.addBodyPart(writeFiles(file));
            mimeMessage.setContent(multipart);
            //System.out.println("设置邮件附件" + file + "成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 设置附件<添加多附件>
     *
     * @param fileList<接收List集合>
     * @throws MessagingException
     *             发送异常
     * @throws IOException
     *             文件IO异常
     */
    public boolean setMultiparts(List<String> fileList) throws MessagingException, IOException {
        try {
            if (multipart == null) {
                multipart = new MimeMultipart();
            }
            for (String s : fileList) {
                multipart.addBodyPart(writeFiles(s));
            }
            mimeMessage.setContent(multipart);
            //System.out.println("设置邮件附件" + fileList + "成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 发送文本内容,设置编码方式 <方法与发送附件配套使用> <发送普通的文本内容请使用setText()方法>
     *
     * @param s
     *            发送的文本内容
     * @param type
     *            编码格式
     * @throws MessagingException
     */
    public boolean setContent(String s, String type) throws MessagingException {
        try {
            if (multipart == null) {
                multipart = new MimeMultipart();
            }
            bodypart = new MimeBodyPart();
            bodypart.setContent(s, type);
            multipart.addBodyPart(bodypart);
            mimeMessage.setContent(multipart);
            mimeMessage.saveChanges();
            //System.out.println("设置邮件内容[" + s + "]成功!");
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    /**
     * 读取附件
     *
     * @param filePath
     *            文件路径
     * @return
     * @throws IOException
     * @throws MessagingException
     */
    public BodyPart writeFiles(String filePath) throws IOException, MessagingException {
        File file = new File(filePath);
        if (!file.exists()) {
            throw new IOException("文件不存在!请确定文件路径是否正确");
        }
        bodypart = new MimeBodyPart();
        DataSource dataSource = new FileDataSource(file);
        bodypart.setDataHandler(new DataHandler(dataSource));
        // 文件名要加入编码,不然出现乱码
        bodypart.setFileName(MimeUtility.encodeText(file.getName()));
        return bodypart;
    }

    //带附件集合发生方法
    public boolean send(String getMail, String subject, String nick, String content, List<String> fileList) {
        try {
            setRecipient(getMail); // 输出信息
            // 邮件主题
            setSubject(subject);
            // 发送时间 Date类型(默认即时发送)
            setDate(new Date());
            // 发送者昵称
            setFrom(nick);
            // 邮件内容
            setContent(content, "text/html; charset=UTF-8");
            // 添加附件
            setMultiparts(fileList);
        } catch (Exception e) {
            return false;
        }
        return sendMessage(); // 是否发送成功;
    }
    //不带附件集合发生方法
    public boolean send(String getMail, String subject, String nick, String content) {

        try {
            setRecipient(getMail); // 输出信息
            // 邮件主题
            setSubject(subject);
            // 发送时间 Date类型(默认即时发送)
            setDate(new Date());
            // 发送者昵称
            setFrom(nick);
            // 邮件内容
            setContent(content, "text/html; charset=UTF-8");
        } catch (Exception e) {
            return false;
        }
        return sendMessage(); // 是否发送成功;
    }

    //带附件集合发生方法 附件使用不确定参数添加url
    public boolean send(String getMail, String subject, String nick, String content,String... fileList) {
        try {
            setRecipient(getMail); // 输出信息
            // 邮件主题
            setSubject(subject);
            // 发送时间 Date类型(默认即时发送)
            setDate(new Date());
            // 发送者昵称
            setFrom(nick);
            // 邮件内容
            setContent(content, "text/html; charset=UTF-8");
            // 添加附件
            List<String> strings = Arrays.asList(fileList);
            setMultiparts(strings);
        } catch (Exception e) {
            return false;
        }
        return sendMessage(); // 是否发送成功;
    }
    // ----------------------------------------------------------------------------------------------------------------------------
    public static void main(String[] args) throws MessagingException, IOException {
        SendMail mail = new SendMail();
        //mail.send("aaa@qq.com", "发送邮件", "昵称","您的验证码为:3086,<a href='https://www.baidu.com'>点击</a>跳转验证页面");
        mail.send("aaa@qq.com", "发送邮件1", "昵称1","您的验证码为:111,<a href='https://www.baidu.com'>点击</a>跳转验证页面"
                ,"E://file/a.jpg","E://file/b.jpg");

    }


}

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值