cxyxiaokui / spring-boot-examples

个人学习 SpringBoot2.x 写的一些示例程序,目前正在持续更新中.....
Apache License 2.0
195 stars 130 forks source link

qq邮件地址问题 #9

Open hcxiaoliu opened 5 years ago

hcxiaoliu commented 5 years ago

我用的你的demo 把qq邮箱当参数传进去 就报错501 如果写死的话,就可以发送成功,这是为什么啊

hcxiaoliu commented 5 years ago

楼主有遇到过这种情况么

hcxiaoliu commented 5 years ago

我还有一个疑问,因为发送邮件的话,我必须要本地配置那个smpt 服务 有密码 但是我要群发,那密码怎么办,我怎么群发啊 没密码就不能发,我用别人账号测试,就那个秘钥错误就不能发送

cxyxiaokui commented 5 years ago

首先第一个问题 如果写死发送者的邮件地址可以发送成功,这说明发送邮件程序时没有问题的,真正的问题应该是在传递参数的时候是否邮件地址发生改变了 所以发送不成功。建议你debug跟一下断点,另外就是要看一下具体的错误信息进行分析。 第二个问题 1.首先你肯定是需要在 application.properties中配置 spring.mail.host, spring.mail.username和spring.mail.password 因为程序代替你发送邮件 发送方的邮箱和密码是必须要进行配置的。 还有一点需要注意的是 spring.mail.username配置的邮箱地址和 spring.mail.host邮箱域名要一致。例如你的spring.mail.username是126的邮箱 那么你的spring.mail.host要配置成smtp.126.com 如果是163的邮箱那么spring.mail.host要配置成smtp.163.com 如果是qq的邮箱 spring.mail.host要配置 smtp.qq.com。

  1. 如果有别人的账号测试 在 application.properties邮箱和密码不对的话 不能发送是很定的 3.如果要进行群发可以调用MimeMessageHelper的setTo(String[] to)方法 我刚写了一个测试用例在本地测试了一下没有什么问题具体地址如下:https://github.com/zhuoqianmingyue/springbootexamples/blob/master/lesson11_mail/src/test/java/cn/lijunkui/mail/MailServiceTest.java 请参考sendInlineResourceMailForGroupSending测试用例的方法
hcxiaoliu commented 5 years ago

嗯嗯,感谢楼主热忱的回答,昨晚那个问题我解决了,今晚测一下这个群发,看看