zoukankan      html  css  js  c++  java
  • JAVA用email.jar发送邮件

    1 jar包

     email.jar包,网上下载

    2 源代码

    package zjr.amy.emil.test;
    
    import java.util.Date;
    import java.util.Properties;
    
    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.MimeMessage;
    
    /**
     * 发邮件测试
     * @author zhujinrong
     *
     */
    public class MailTest {
        
        static Authenticator auth = new Authenticator(){
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                // TODO Auto-generated method stub
                return new PasswordAuthentication("1251759009@qq.com", "密码");
            }
        };
    
        /**
         * 主函数
         * @param args
         */
        public static void main(String[] args) throws MessagingException {
            // TODO Auto-generated method stub
            Properties props = new Properties();
            props.put("mail.smtp.host", "smtp.qq.com");
            props.put("mail.smtp.auth", "true");
            props.put("mail.from", "1251759009@qq.com");
            Session session = Session.getInstance(props, auth);
            MimeMessage msg = new MimeMessage(session);
            msg.setFrom();
            msg.setRecipients(Message.RecipientType.TO, "2804163771@qq.com");
            msg.setSubject("JavaMail hello world example");
            msg.setSentDate(new Date());
            msg.setText("<html><body><span style='color:red;'>Hello world!</span></body></html>", "utf-8", "html");
            Transport.send(msg);
        }
    }

    3 运行结果

    4 遇到的错误

    Exception in thread "main" javax.mail.AuthenticationFailedException: 454 Authentication failed, please open smtp flag first!
    
        at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826)
        at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761)
        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685)
        at javax.mail.Service.connect(Service.java:317)
        at javax.mail.Service.connect(Service.java:176)
        at javax.mail.Service.connect(Service.java:125)
        at javax.mail.Transport.send0(Transport.java:194)
        at javax.mail.Transport.send(Transport.java:124)
        at zjr.amy.emil.test.MailTest.main(MailTest.java:46)

    原因:没有qq邮箱没有开启smtp服务

    解决方法:在QQ邮箱的设置里面,找到账户-》POP3/IMAP/SMTP选择开启POP3/SMTP服务

    5 git地址

     git地址:https://github.com/HelloAmy/JavaStudy.git

    作者:BestNow
    出处:http://www.cnblogs.com/BestNow/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    在linux中连接wifi
    解决Chrome插件安装时出现的“程序包无效”问题
    全网最简单明了的MySQL连接Eclipse方法(JDBC详细安装方式及简单操作)2020新版
    机器学习--机器学习的分类
    背英语单词很困难,不妨学习一下词根词缀吧(每天10个词根、词缀)Part 3
    C++课程设计详解-12306的模拟实现
    C++课程设计,12306模拟写起来就是这么粗暴
    计算机组成原理--储存器概述
    JAVA I/O 与装饰者模式UML图
    PAT-字符串处理-B 1024 科学计数法 (20分)
  • 原文地址:https://www.cnblogs.com/tianxue/p/4079543.html
Copyright © 2011-2022 走看看