java mail ssl smtp_JavaMail mail.smtp.ssl.enable不工作

我在几个网站上阅读,当使用

JavaMail API时,将属性mail.smtp.ssl.enable设置为true.我有一些代码如下:

props.put("mail.smtp.host", "exchangemail1.example.com");

props.put("mail.from", "myemail@example.com");

props.put("mail.smtp.starttls.enable", "true");

// I tried this by itself and also together with ssl.enable)

props.put("mail.smtp.ssl.enable", "true");

Session session = Session.getInstance(props, null);

MimeMessage msg = new MimeMessage(session);

msg.setFrom();

msg.setRecipients(Message.RecipientType.TO, "me.at@example.com");

// also tried @gmail.com

msg.setSubject("JavaMail ssl test");

msg.setSentDate(new Date());

msg.setText("Hello, world!\n");

props.put("mail.smtp.auth", "false");

Transport trnsport;

trnsport = session.getTransport("smtp");

trnsport.connect();

msg.saveChanges();

trnsport.sendMessage(msg, msg.getAllRecipients());

trnsport.close();

这会发送电子邮件,但是:

>当我做流量捕获,我看到它没有加密

>当使用debug(props.put(“mail.debug”,“true”))时,我看到“isSSL false”

(我也试过上面添加了props.put(“mail.smtp.auth”,“true”)用户/密码….)

任何想法我做错了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 项目中,可以通过在 `src/main/resources` 目录下创建一个名为 `mail.properties` 的文件来配置 JavaMailSender 的属性。下面是一个示例: ``` mail.smtp.host=smtp.gmail.com mail.smtp.port=587 mail.smtp.username=your_email@gmail.com mail.smtp.password=your_email_password mail.smtp.auth=true mail.smtp.starttls.enable=true ``` 上述配置表示使用 `smtp.gmail.com` 作为邮件服务器,使用 `587` 作为端口号,需要设置用户名和密码进行认证,以及启用 SSL/TLS 加密传输。 在 Spring MVC 项目中,可以在 Spring 配置文件中使用 `PropertyPlaceholderConfigurer` 来加载 `mail.properties` 文件,然后通过 `${}` 占位符来引用属性值。例如: ```xml <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:mail.properties</value> </list> </property> </bean> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.smtp.host}" /> <property name="port" value="${mail.smtp.port}" /> <property name="username" value="${mail.smtp.username}" /> <property name="password" value="${mail.smtp.password}" /> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">${mail.smtp.auth}</prop> <prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop> </props> </property> </bean> ``` 上述配置表示使用 `PropertyPlaceholderConfigurer` 加载 `mail.properties` 文件,然后通过 `${}` 占位符来引用文件中定义的属性值。这样可以方便地对邮件服务器的配置进行管理和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值