javaMail的使用以及trying to connect to host "[email protected]", port 25, isSSL false异常

最近项目用到邮件系统,开始了解javaMail。。。话不多说先上代码:

pom依赖:

<!--    邮件  https://mvnrepository.com/artifact/javax.mail/mail -->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.5.0-b01</version>
        </dependency>

工具类:

import java.util.Date;
import java.util.Properties;

import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailUtils {
    //发件人地址
    private static String senderAddress = "12345[email protected]";
    //收件人地址
    private static String recipientAddress  = "[email protected]";
    //发件人账户
    public static String senderAccount = "[email protected]";
    //发件人授权码
    public static String auth = "xxxxxxx";
    //邮件主题
    public static String subject = "xxxxxx通知";
    //邮件正文
    public static String content = "您有一则xxxxx!";
    
    public static void main(String [] args) throws MessagingException {
        //1.连接邮件服务器的配置参数
        Properties properties = new Properties();
        //设置用户认证方式
        properties.setProperty("mail.smtp.auth", "true");
        //设置传输协议
        properties.setProperty("mail.transport.protocol", "smtp");
        //设置发件人的SMTP服务器地址
        properties.setProperty("mail.smtp.host", "smtp.163.com");
        //properties.setProperty("mail.smtp.port", "465");
        
        //2.创建定义整个应用程序所需的环境信息的Session对象
        Session session = Session.getInstance(properties);
        session.setDebug(true);
        //3.创建邮件的实例对象
        MimeMessage msg = getMimeMessage(session);
        //4.根据session对象获取邮件传输对象
        Transport transport = session.getTransport("smtp");
        transport.connect("smtp.163.com", senderAccount, auth);
        //发送邮件,并发送到所有收件人地址,message.getAllRecipients()获取到创建又见对象时添加的所有收件人抄送人密送人
        transport.sendMessage(msg, msg.getAllRecipients());
        //如果只想发送给指定的人,可以如下写法
        //transport.sendMessage(msg, new Address[]{new InternetAddress("[email protected]")});
        //5.关闭邮件链接
        transport.close();
        
    }
    
        /**
         * 獲得創建一封郵件的實例對象
         * @param session
         * @return
         * @throws MessagingException
         * @throws AddressException
         */
        public static MimeMessage getMimeMessage(Session session) throws MessagingException {
            //創建郵件的實例對象
            MimeMessage msg = new MimeMessage(session);
            //设置发件人地址
            msg.setFrom(new InternetAddress(senderAddress));
            
            /*
             * 设置收件人地址(可以增加多个收件人,抄送人,密送)
             * MimeMessage.RecipientType.TO 发送
             * MimeMessage.RecipientType.CC 抄送
             * MimeMessage.RecipientType.BCC 密送
             */
            msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(recipientAddress));
            //设置邮件主题
            msg.setSubject(subject, "UTF-8");
            //设置邮件正文
            msg.setContent(content, "text/html;charset=UTF-8");
            //设置邮件的发送时间默认立即发送
            msg.setSentDate(new Date());
            return msg;
        }
}

需要注意首先发件人邮箱需要设置开启POP3/SMTP/IMAP协议

transport.connect("smtp.163.com", senderAccount, auth);这里的参数注意第三个不是密码

原文地址:https://www.cnblogs.com/qq642193463/p/10691516.html

时间: 2024-10-09 19:28:38

javaMail的使用以及trying to connect to host "[email protected]", port 25, isSSL false异常的相关文章

[RabbitMQ]Error: unable to connect to node [email&#160;protected]: nodedown(CentOS7.0)

今天在搭建OpenStack的时候需要安装RabbitMQ,可是使用yum install rabbitmq-server安装之后,按照OpenStack官方提供的文档修改guest用户密码的时候却出现了如下错误: [[email protected] ~]# rabbitmqctl change_password guest Rabbit123 Changing password for user "guest" ... Error: unable to connect to nod

Error: unable to connect to node [email&#160;protected]: nodedown

某天,开启一个应用时,发现连接rabbitmq失败,本来想用rabbitmqctl来查看队列,结果提示“Error: unable to connect to node [email protected]: nodedown”,执行任何命令,重启都不管用.然后,针对这个错误,去查找原因,有人说是因为计算机名被修改的原因造成的.因此,打开/etc/hosts文件,还原为最初的计算机名,默认应该是localhost.但是,改文件必须得重启机器,才能生效,没办法,只能执行hostname localh

git clone遇到的[ssh: connect to host github.com port 22]

起因 在学习递归的时候,对汉诺塔小研究了一番,参考网上写了个demo,后面就想同步到github. 过程 这台电脑是新电脑,所以需要先本地生成ssh key:ssh-keygen -t rsa -C "[email protected]"可参考-远程仓库.第一步:ssh-keygen -t rsa -C "[email protected]":第二步:在用户目录下,找到.ssh文件夹下的id_rsa.pub,打开先复制全部内容:第三步:登录github,个人帐号se

ssh: connect to host github.com port 22: Connection refused

假设git例如,下面的问题时,远程推送: [[email protected] learngit]$ git push -u origin master ssh: connect to host github.com port 22: Connection refused fatal: Could not read from remote repository. Please make sure you have the correct access rights and the reposit

搭建openstack,报:Error: unable to connect to node [email&#160;protected]: nodedown

执行: # rabbitmqctl add_user openstack passw0rd 报出: Error: unable to connect to node [email protected]: nodedown DIAGNOSTICS =========== attempted to contact: [[email protected]] [email protected]: * connected to epmd (port 4369) on localhost * epmd re

github连接报&quot;ssh: connect to host github.com port 22: Connection timed out&quot;错误

1. 异常 在连接github时,执行"ssh -T [email protected]" 命令时,出现 ssh: connect to host github.com port 22: Connection timed out 1 2. 解决方法 在存放公钥私钥(id_rsa和id_rsa.pub)的文件里,新建config文本,内容如下: Host github.comUser YourEmail@163.comHostname ssh.github.comPreferredAut

github默认端口22被占用,ssh: connect to host github.com port 22: Connection timed out

出现github 连接错误: ssh:connect to host github.com port 22:Connection timed out 刚开始以为是网络问题,github不能连接上,但是使用ssh命令,用端口443测试发现可以连接上github ssh -T -p 443 [email protected] Enter passphrase for key '/root/.ssh/id_rsa': Hi yinfei1! You've successfully authentica

Rabbitmq 服务启动后停止 | Windows下启动报错Error: unable to connect to node [email&#160;protected]: nodedown

1.erlang版本和rabbitmq版本不匹配 版本匹配: http://www.rabbitmq.com/which-erlang.html 2.找到匹配的版本,卸载当前rabbitmq重新安装. 执行以下操作从计算机中完全卸载RabbitMQ和Erlang: (1)打开Windows控制面板,双击“程序和功能”. (2)在当前安装的程序列表中,右键单击RabbitMQ Server,然后单击“卸载”. (3)在当前安装的程序列表中,右键单击“Erlang OTP”,然后单击“卸载”. (4

Could not connect to SMTP host: localhost, port: 25;

1.错误描述 DEBUG: setDebug: JavaMail version 1.3.3 DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "loca