Springboot admin 发送邮件失败:com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user
发邮件已经是老生常谈了,今天又遇到了,而且又出了各种问题。我晕哦。
我的配置是:
spring.mail.host=smtp..com
spring.mail.username=klxxxx
spring.mail.password=qwer1234
spring.boot.admin.notify.mail.to=lkxxx@qq.com
出现了553:
-- ::21.022 WARN --- [ctor-http-nio-] d.c.b.a.s.notify.NotificationTrigger : Unexpected error while handling null org.springframework.mail.MailSendException: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: Mail from must equal authorized user
;
nested exception is:
com.sun.mail.smtp.SMTPSenderFailedException: Mail from must equal authorized user at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:) ~[spring-context-support-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:) ~[spring-context-support-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:) ~[spring-context-support-5.1..RELEASE.jar:5.1..RELEASE]
at de.codecentric.boot.admin.server.notify.MailNotifier.lambda$doNotify$(MailNotifier.java:) ~[spring-boot-admin-server-2.1..jar:2.1.]
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:) [reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxFilter$FilterSubscriber.request(FluxFilter.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:) [reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxFilter$FilterSubscriber.onSubscribe(FluxFilter.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFilter.subscribe(MonoFilter.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoIgnorePublisher.subscribe(MonoIgnorePublisher.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxSubscribeOn$SubscribeOnSubscriber.onNext(FluxSubscribeOn.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPublish$PublishSubscriber.drain(FluxPublish.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPublish$PublishSubscriber.onNext(FluxPublish.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.UnicastProcessor.drainFused(UnicastProcessor.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.UnicastProcessor.drain(UnicastProcessor.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.UnicastProcessor.onNext(UnicastProcessor.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxCreate$IgnoreSink.next(FluxCreate.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxCreate$SerializedSink.next(FluxCreate.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at de.codecentric.boot.admin.server.eventstore.InstanceEventPublisher.lambda$publish$(InstanceEventPublisher.java:) ~[spring-boot-admin-server-2.1..jar:2.1.]
at java.util.ArrayList.forEach(ArrayList.java:) ~[na:1.8.0_131]
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:) ~[na:1.8.0_131]
at de.codecentric.boot.admin.server.eventstore.InstanceEventPublisher.publish(InstanceEventPublisher.java:) ~[spring-boot-admin-server-2.1..jar:2.1.]
at de.codecentric.boot.admin.server.eventstore.InMemoryEventStore.lambda$append$(InMemoryEventStore.java:) ~[spring-boot-admin-server-2.1..jar:2.1.]
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:) [reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onError(FluxPeekFuseable.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:) [reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onError(Operators.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:) [reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:) [reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxRetry$RetrySubscriber.onError(FluxRetry.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.FluxRetryPredicate$RetryPredicateSubscriber.onError(FluxRetryPredicate.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$TcpClientSubscriber.onError(HttpClientConnect.java:) ~[reactor-netty-0.8..RELEASE.jar:0.8..RELEASE]
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:) ~[reactor-core-3.2..RELEASE.jar:3.2..RELEASE]
at reactor.netty.resources.PooledConnectionProvider$DisposableAcquire.operationComplete(PooledConnectionProvider.java:) ~[reactor-netty-0.8..RELEASE.jar:0.8..RELEASE]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.channel.pool.SimpleChannelPool.notifyConnect(SimpleChannelPool.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.pool.SimpleChannelPool.access$(SimpleChannelPool.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.pool.SimpleChannelPool$.operationComplete(SimpleChannelPool.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.pool.SimpleChannelPool$.operationComplete(SimpleChannelPool.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:) ~[netty-transport-4.1..Final.jar:4.1..Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$.run(SingleThreadEventExecutor.java:) ~[netty-common-4.1..Final.jar:4.1..Final]
at java.lang.Thread.run(Thread.java:) ~[na:1.8.0_131]
难道是密码错误吗? 仔细确认,密码是没错的。
故意把密码设置错误,得到另外一个异常: Caused by: javax.mail.AuthenticationFailedException: 535 Error: authentication failed
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
-- ::52.452 ERROR --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Mail server is not available
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$(AbstractBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:) ~[spring-context-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:) ~[spring-context-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:) ~[spring-boot-2.1..RELEASE.jar:2.1..RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:) [spring-boot-2.1..RELEASE.jar:2.1..RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:) [spring-boot-2.1..RELEASE.jar:2.1..RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:) [spring-boot-2.1..RELEASE.jar:2.1..RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:) [spring-boot-2.1..RELEASE.jar:2.1..RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:) [spring-boot-2.1..RELEASE.jar:2.1..RELEASE]
at com.lk.DemoSpringbootAdminApplication.main(DemoSpringbootAdminApplication.java:) [classes/:na]
Caused by: java.lang.IllegalStateException: Mail server is not available
at org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration.validateConnection(MailSenderValidatorAutoConfiguration.java:) ~[spring-boot-autoconfigure-2.1..RELEASE.jar:2.1..RELEASE]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:) ~[na:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:) ~[na:1.8.0_131]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:) ~[spring-beans-5.1..RELEASE.jar:5.1..RELEASE]
... common frames omitted
Caused by: javax.mail.AuthenticationFailedException: Error: authentication failed at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:) ~[javax.mail-1.6..jar:1.6.]
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:) ~[javax.mail-1.6..jar:1.6.]
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:) ~[javax.mail-1.6..jar:1.6.]
at javax.mail.Service.connect(Service.java:) ~[javax.mail-1.6..jar:1.6.]
at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:) ~[spring-context-support-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.mail.javamail.JavaMailSenderImpl.testConnection(JavaMailSenderImpl.java:) ~[spring-context-support-5.1..RELEASE.jar:5.1..RELEASE]
at org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration.validateConnection(MailSenderValidatorAutoConfiguration.java:) ~[spring-boot-autoconfigure-2.1..RELEASE.jar:2.1..RELEASE]
... common frames omitted
密码错误确实会出现553,但是具体原因是不同的。可见, 密码是没问题的。
需要一个授权码? 我记得163邮箱是挺好用的。qq邮箱需要授权码, 163好像不需要的吧。。
难道需要额外配置:
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.test-connection=true
加上了,然并卵。
这坑爹啊。。 查看所有可用的配置,偶然看到了一个配置 spring.boot.admin.notify.mail.from,设置一下吧, 同 spring.mail.username=klxxxx 一样的。 重启, 好了!
参考
https://www.cnblogs.com/xibei666/p/9016593.html
https://blog.csdn.net/sun2015_07_24/article/details/52074898
Springboot admin 发送邮件失败:com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user的更多相关文章
- com.sun.mail.smtp.SMTPSendFailedException: 553 Mail from must equal authorized user
1.错误描写叙述 553 Mail from must equal authorized user com.sun.mail.smtp.SMTPSendFailedException: 553 Mai ...
- jenkins配置邮件 -- com.sun.mail.smtp.SMTPSenderFailedException: 550 5.7.1 Client does not have permissions to send as this sender
jenkins配置邮件设置 发送邮件测试时,报错: com.sun.mail.smtp.SMTPSenderFailedException: Client does not have permissi ...
- 【总结 】550,535,553 Mail from must equal authorized user— jenkins(hudson) email163邮箱和26邮箱成功配置总结
Failed to send out e-mail com.sun.mail.smtp.SMTPSendFailedException: 553 Mail from must equal author ...
- 【异常】553 Mail from must equal authorized user
1 详细异常打印 2019-08-12 14:54:42,178 ERROR org.apache.camel.processor.DefaultErrorHandler: Failed delive ...
- 实战SpringBoot Admin
长话短说哦,直接查看下文吧 目录 声明 先锋 前提 SpringBoot Admin 介绍 服务端的搭建 客户端的搭建 参数的指南 尾声 声明 见名知意,实战SpringBoot Admin,实战!实 ...
- 使用SpringBoot Admin监控SpringCloud微服务
spring-boot admin的github地址:https://github.com/codecentric/spring-boot-admin 本文基于SpringCloud的环境和配置上增加 ...
- springboot简单发送邮件介绍
1.新建一个springboot项目 2.所需要的的jar包: <dependency> <groupId>org.springframework.boot</group ...
- 使用SpringBoot + JavaMailSender 发送邮件报错 Mail server connection failed;Could not connect to SMTP host
说明: 出于安全考虑,阿里云默认封禁 TCP 25 端口出方向的访问流量,无法在阿里云上的云服务器通过 TCP 25 端口连接外部地址. [官方提示]:如果您需要使用阿里云上的云服务器对外部发送邮件, ...
- python通过SMTP发送邮件失败,报错505/535
python通过SMTP发送邮件失败:错误1:smtplib.SMTPAuthenticationError: (550, b'User has no permission') 我们使用pyth ...
随机推荐
- ubuntu下cannot find lib....so.x 寻找动态链接库
默认从/lib . /usr/lib 以及配置文件/etc/ld.so.conf内所列的目录下加载.so文件, 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld ...
- C#编写CLR函数
本案例在VS2017环境中开发: 1.新建项目,“数据库项目”,添加 UserDefinedFunctions.cs类文件,代码如下: using System; using System.Data; ...
- Axure RP 介绍
原型设计是将想法转变为设计过程中至关重要的一环.经常有设计师小伙伴可能会问到,“哪个原型设计工具是最好的呢”?实际上这是一种错误的提问方式,尤其是在当下原型工具种类繁多,针对不同需求各有优势的大环境中 ...
- 将 windows 目录结构 复制到 linux 上
思路:生成目录结构文件,复制到linux上,然后建立每个文件即可 借助unix_utils( https://sourceforge.net/projects/unxutils/) 1. window ...
- vue中父组件给子组件额外添加参数
1 子组件: this.$emit('callbackone',item.parentId) 2 父组件: @callbackone="callbackone($event,index)&q ...
- js设置,获取cookie
function setCookie(c_name,value,expireMinutes){ var exdate=new Date(); exdate.setMinutes(exdate.getM ...
- lua 5.3最简单plugin编写
#include <windows.h> #include "lauxlib.h" /* Pop-up a Windows message box with your ...
- hanlp 加载远程词库示例
说明 ·目前的实现方式是以远程词库的内容重新构建CustomDictionary.trie,demo主要是为了实现同步远程词库,对性能暂不作考虑,对性能要求要以CustomDictionary.dat ...
- Windows + Flask + Apache + wsgi踏坑总结
据前人踏坑经历,拷贝如下: 1. Apache,mod_wsgi和Python都必须用相同版本的C/C++编译器生成,要么都是32位的,要么都是64位的,不能混用. 2. Apache和mod_wsg ...
- vue+nginx编译部署
1.项目路径下vue-test输入命令npm run build编译完成后会发现在vue-test文件夹下多出一个dist文件夹这里面就是编译好的文件了.2.网上下载nginx,下载地址http:// ...