浅议JavaMail使用教程以及所遇问题及解决方案(壹)

来源:互联网 发布:mac更新 进度条 编辑:程序博客网 时间:2024/04/29 20:05

   最近在公司接到的一个任务中的一个功能是发邮件,之前没有接触过这方面的知识,就上网查了查,可以用JavaMail来做。JavaMail是专门提供给开发者处理电子邮件相关的编程接口。

然后就根据JavaMail的API写了一个小实例,因为第一次用这个东西,所以遇到了一些问题,幸好都一一解决了。

首先要导入jar包,否则程序无法运行,

jar包下载地址:http://download.csdn.net/download/u012369373/9779331

package com.szw.javamail;import java.util.Properties;import javax.mail.Address;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class JavaMailTest {public static void main(String[] args) throws MessagingException{Properties props = new Properties();// 开启debug调试props.setProperty("mail.debug", "true");// 发送服务器需要身份验证props.setProperty("mail.smtp.auth", "true");// 设置邮件服务器主机名props.setProperty("mail.host", "smtp.163.com");// 发送邮件协议名称props.setProperty("mail.transport.protocol", "smtp");// 设置环境信息Session session = Session.getInstance(props);// 创建邮件对象Message msg = new MimeMessage(session);msg.setSubject("JavaMail测试");// 设置邮件内容msg.setText("测试内容!");// 设置发件人msg.setFrom(new InternetAddress("15336415920@163.com"));Transport transport = session.getTransport();// 连接邮件服务器transport.connect("邮箱账号", "密码");// 发送邮件transport.sendMessage(msg, new Address[] {new InternetAddress("934172442@qq.com")});// 关闭连接transport.close();}}


问题一:


原因:邮箱客户端授权处于关闭状态。

解决方案:开启客户端授权,如下图:


问题二:


原因:邮箱密码输入错误。


在基于springMVC写的项目中如果想要使用JavaMail,则需要把jar包拷入tomcat下面的lib文件夹下,否则会出现如下错误:


刚接触JavaMail,写的都是最基础的,以后有时间会深入研究。


2 2
原创粉丝点击