java邮件发送Demo工具

  1. 需要引入mail.jar,邮件发送工具包.
  2. 将发件人,收件人,用户名密码写入配置文件(config.properties),便于后期修改.
  3. fromEmail=zhangsan@163.com
    toEmail=lisi@qq.com
    emailName=username
    emailPassword=userpass

  4. 编码发邮件工具类EmailUtil,并进行测试.
  5. package com.email;
    
    import java.io.InputStream;
    import java.util.Date;
    import java.util.Properties;
    
    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    
    
    /**
     * 简单的邮件发送
     * 
     * @author Administrator
     * 
     */
    public class EmailUtils {
    
    	public static void main(String[] args) throws Exception {
    		Properties prop = new Properties();
    		InputStream in = EmailUtils.class.getResourceAsStream("config.properties");
    		prop.load(in);
    		EmailUtils.sendMail(prop.getProperty("fromEmail"), prop.getProperty("toEmail"), prop.getProperty("emailName"), prop.getProperty("emailPassword"), "11111111", "1111111");
    	}
    	/**
    	 * 发送邮件 (暂时只支持163邮箱发送)
    	 * @param fromEmail 发送邮箱
    	 * @param toEmail 接收邮箱
    	 * @param emailName 163邮箱登录名
    	 * @param emailPassword 密码
    	 * @param title 发送主题
    	 * @param centent 发送内容
    	 * @throws Exception
    	 */
    	public static void sendMail(String fromEmail,String toEmail,String emailName,String emailPassword,String title, String centent) throws Exception {
    		
    		Properties properties = new Properties();// 创建Properties对象
    		properties.setProperty("mail.transport.protocol", "smtp");// 设置传输协议
    		properties.put("mail.smtp.host", "smtp.163.com");// 设置发信邮箱的smtp地址
    		properties.setProperty("mail.smtp.auth", "true"); // 验证
    		Authenticator auth = new AjavaAuthenticator(emailName,
    				emailPassword); // 使用验证,创建一个Authenticator
    		Session session = Session.getDefaultInstance(properties, auth);// 根据Properties,Authenticator创建Session
    		Message message = new MimeMessage(session);// Message存储发送的电子邮件信息
    		message.setFrom(new InternetAddress(fromEmail));
    		message.setRecipient(Message.RecipientType.TO, new InternetAddress(
    				toEmail));// 设置收信邮箱
    		// 指定邮箱内容及ContentType和编码方式
    		message.setContent(centent, "text/html;charset=utf-8");
    		message.setSubject(title);// 设置主题
    		message.setSentDate(new Date());// 设置发信时间
    		Transport.send(message);// 发送
    
    		System.out.println("发送成功");
    	}
    }
    
    // 创建传入身份验证信息的 Authenticator类
    class AjavaAuthenticator extends Authenticator {
    	private String user;
    	private String pwd;
    
    	public AjavaAuthenticator(String user, String pwd) {
    		this.user = user;
    		this.pwd = pwd;
    	}
    
    	@Override
    	protected PasswordAuthentication getPasswordAuthentication() {
    		return new PasswordAuthentication(user, pwd);
    	}
    }

  6. 当console输出:发送成功,然后就等待邮箱接收邮件.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ719872578

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值