JavaMailSenderImpl 使用465端口配置

Posted £漫步 云端彡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaMailSenderImpl 使用465端口配置相关的知识,希望对你有一定的参考价值。

XML格式

<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
   <property name="host" value="smtp.exmail.qq.com"/>
   <property name="port" value="465" />
   <property name="username" value="${addresser}"/> <!--开启服务的邮箱号-->
   <property name="password" value="${addresserPassword}"/><!--开启服务的邮箱号的密钥-->
   <property name="defaultEncoding" value="UTF-8"/>
   <property name="javaMailProperties">
       <!-- 配置SSL协议 -->
       <props>
           <!-- 开启认证 -->
           <prop key="mail.smtp.auth">true</prop>
           <prop key="mail.smtp.timeout">20000</prop>
           <!-- 设置端口 -->
           <prop key="mail.smtp.port">465</prop>
           <!-- 设置SSL端口 -->
           <prop key="mail.smtp.socketFactory.port">465</prop>
           <!-- 设置SSL工厂类 -->
           <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
       </props>
   </property>
</bean>

yml配置

# JavaMailSender Config
spring.mail.host=smtp.163.com
spring.mail.username=${addresser} #你的163邮箱地址
spring.mail.password=${addresserPassword} #你的163邮箱授权密码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

# SSL Config
spring.mail.port=465
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.socketFactory.port=465
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

类中配置

static {
      javaMailSender = new JavaMailSenderImpl();
      javaMailSender.setHost(host);//链接服务器
      javaMailSender.setPort(port);
      javaMailSender.setUsername(userName);//账号
      javaMailSender.setPassword(password);//密码
      javaMailSender.setDefaultEncoding("UTF-8");

      Properties properties = new Properties();
      properties.setProperty("mail.smtp.auth", "true");//开启认证
      properties.setProperty("mail.debug", "true");//启用调试
      properties.setProperty("mail.smtp.timeout", "1000");//设置链接超时
      properties.setProperty("mail.smtp.port", Integer.toString(port));//设置端口
      properties.setProperty("mail.smtp.socketFactory.port", Integer.toString(port));//设置ssl端口
      properties.setProperty("mail.smtp.socketFactory.fallback", "false");
      properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
      javaMailSender.setJavaMailProperties(properties);
  }

以上是关于JavaMailSenderImpl 使用465端口配置的主要内容,如果未能解决你的问题,请参考以下文章

org.springframework.mail.javamail.JavaMailSenderImpl这个包在哪里啊?配置时候找不到

JavaMailSenderImpl发送邮件报java.net.SocketTimeoutException: Read timed out的解决方法

JavaMailSenderImpl发送邮件报java.net.SocketTimeoutException: Read timed out的解决方法

一个程序猿的随笔而已

Spring使用Spring发送邮件

查看端口 587、25、110、465、995、143、993 上的 SSL 证书