java 发送邮件和读取邮件(163邮箱为例)
来源:互联网 发布:linux oracle 客户端 编辑:程序博客网 时间:2024/05/22 12:20
1,发送邮件
(1)在设置里面打开163邮箱的smtp、pop3,设置授权码
(2)在引用pom.xml中引用mail.jar
<dependency > <groupId >com.sun.mail </groupId > <artifactId >javax.mail </artifactId > <version >1.5.4 </version > </dependency >(3)邮件内容不要乱写,否则失败
public class TestJava {public static void main(String[] args) throws MessagingException {Properties prop=new Properties();prop.put("mail.host","smtp.163.com" );prop.put("mail.transport.protocol", "smtp");prop.put("mail.smtp.auth", true);//使用java发送邮件5步骤//1.创建sesssionSession session=Session.getInstance(prop);//开启session的调试模式,可以查看当前邮件发送状态session.setDebug(true);//2.通过session获取Transport对象(发送邮件的核心API)Transport ts=session.getTransport();//3.通过邮件用户名密码链接ts.connect("邮箱名", "授权码");//4.创建邮件Message msg=createSimpleMail(session);//5.发送电子邮件ts.sendMessage(msg, msg.getAllRecipients());}public static MimeMessage createSimpleMail(Session session) throws AddressException,MessagingException{//创建邮件对象MimeMessage mm=new MimeMessage(session);//设置发件人mm.setFrom(new InternetAddress(""));//设置收件人mm.setRecipient(Message.RecipientType.TO, new InternetAddress(""));//设置抄送人mm.setRecipient(Message.RecipientType.CC, new InternetAddress(""));mm.setSubject("第一封JAVA邮件!");mm.setContent("咱们开会吧", "text/html;charset=utf-8");return mm;}}代码引用:http://www.cnblogs.com/tptptptp/p/5874538.html
2,读取邮件
import java.util.Properties;import javax.mail.Folder;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import com.sun.mail.imap.IMAPFolder;import com.sun.mail.imap.IMAPStore;/** * 使用IMAP协议接收邮件 * @author hj * @time 2017-07-20 */public class ReciveIMAPmail {public static void main(String[] args) { String imapserver = "imap.163.com"; // 邮件服务器 String user = "用户名"; String password = "授权码"; // 根据自已的密码修改 // 获取默认会话 Properties prop = System.getProperties(); prop.put("mail.imap.host",imapserver); prop.put("mail.imap.auth.plain.disable","true"); Session mailsession=Session.getInstance(prop,null); mailsession.setDebug(false); //是否启用debug模式 IMAPFolder folder= null; IMAPStore store=null; int total= 0; try{ store=(IMAPStore)mailsession.getStore("imap"); // 使用imap会话机制,连接服务器 store.connect(imapserver,user,password); folder=(IMAPFolder)store.getFolder("INBOX"); //收件箱 // 使用只读方式打开收件箱 folder.open(Folder.READ_WRITE); //获取总邮件数 total = folder.getMessageCount(); System.out.println("-----------------您的邮箱共有邮件:" + total+" 封--------------"); // 得到收件箱文件夹信息,获取邮件列表 Message[] msgs =folder.getMessages(); System.out.println("\t收件箱的总邮件数:" + msgs.length); System.out.println("\t未读邮件数:" + folder.getUnreadMessageCount()); System.out.println("\t新邮件数:" + folder.getNewMessageCount()); System.out.println("----------------End------------------"); } catch(MessagingException ex){ System.err.println("不能以读写方式打开邮箱!"); ex.printStackTrace(); }finally { // 释放资源 try{ if(folder!=null) folder.close(true); //退出收件箱时,删除做了删除标识的邮件 if (store != null) store.close(); }catch(Exception bs){ bs.printStackTrace(); } } }}
可能会报错:
javax.mail.MessagingException: A3 NO SELECT Unsafe Login. Please contact kefu@188.com for help;
nested exception is:
然后 输入 http://config.mail.163.com/settings/imap/index.jsp?uid=xxxxxx@163.com
进行手机验证就OK;
阅读全文
2 0
- java 发送邮件和读取邮件(163邮箱为例)
- java邮件发送(以163邮箱为例)
- Java 发送邮件 邮箱验证 (qq.com为例)
- JAVA发送简单邮件(QQ邮箱为例)
- 163邮箱 发送邮件
- Python发送邮件(以163邮箱为例)
- Bugfree邮件发送设置(以QQ邮箱为例)
- Bugfree邮件发送设置(以QQ邮箱为例)
- 程序实现邮件发送(新浪邮箱为例)
- Java实现自动发送带附件的邮件(网易邮箱为例)
- java mail(发送邮件--163邮箱)
- java调用163邮箱发送邮件
- java调用163邮箱发送邮件
- java mail(发送邮件--163邮箱)
- 创建Java工程实现发送邮件(163邮箱)
- SpringBoot JavaMailSender发送邮件(QQ和163邮箱)
- Java邮箱自动发送邮件
- MATLAB: 用MATLAB发送邮件(以163邮箱为例)
- 【脚本语言系列】关于Python基础知识推导式,你需要知道的事
- 3673/3674: 可持久化并查集加强版
- JavaScript中的apply、call和bind方法
- Zepto中如何实现"变量"的类型判断
- css 如何画三角形
- java 发送邮件和读取邮件(163邮箱为例)
- robots.txt文件的作用
- Android.mk 中解决Warning:warning: shared library text segment is not shareable
- 用Java数字签名提供XML安全
- 继承bean配置,依赖bean配置
- 可上拉加载和下拉刷新的XRecyclerView
- 根据中华人民共和国身份证生成规则,校验身份证
- Python 字典遍历
- 运算符