我一直试图通过春季启动发送电子邮件,我似乎不能成功。现在我一直在使用javamail api,但是想用Spring邮件使用springboot。从春季启动应用程序发送电子邮件的问题
public class SendMail {
@Autowired
private JavaMailSender javaMailSender;
public void sendingMail(String to, String subject, String body) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(body);
javaMailSender.send(message);
}
}
,这里是我的邮件
@Controller
public class ExamPle {
@Autowired
private SendMail sendMail;
@RequestMapping("/he")
public String homePage() {
sendMail.sendingMail("[email protected]", "Welcome George", "Sample Message here");
return "Sent";
}
}
我已经有了冲刺引导起动邮件在我的POM文件,但我不断收到此错误信息。我甚至观看了关于如何做到这一点的教程的YouTube视频,但它不起作用。我正在使用Spring Tool Suite版本:3.9.0.RELEASE。
属性文件
spring.mail.host=smtp.gmail.com
spring.mail.username=my-email-address
spring.mail.password=my-password
spring.mail.port=587
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.defaultEncoding=UTF-8
2017年9月14日05:25:57.811 INFO 12576 --- [主] com.example.demo.EmaildemoApplication:在乔治 - MacBook-开始 EmaildemoApplication具有PID的Pro.local 12576 (由georgetebo在/ Users/georgetebo/STS Projects/Emaildemo开始) 2017-09-14 05:25:57.814信息12576 --- [main] com.example.demo.EmaildemoApplication:没有活动的配置文件集, 回落到默认配置文件:默认2017-09-14 05:2 5:57.845 INFO 12576 --- [主要] ationConfigEmbeddedWebApplicationContext:刷新 org.springframework.boot[email protected]3d3fcdb0: 启动日期[星期四09月14五点25分57秒WAT 2017];上下文层次根 2017-09-14 05:25:58.652 INFO 12576 --- [main] sbcetTomcatEmbeddedServletContainer:Tomcat初始化为 端口:8080(http)2017-09-14 05:25:58.662 INFO 12576 --- [
main] o.apache.catalina.core.StandardService:启动服务 [Tomcat] 2017-09-14 05:25:58.662 INFO 12576 --- [main] org.apache.catalina .core.StandardEngine:启动Servlet引擎: Apache Tomcat/8.5.20 2017-09-14 05:25:58.714信息12576 --- [ost-startStop-1] oaccC [Tomcat]。[localhost]。[ ]: 初始化Spring嵌入式WebApplicationContext 2017-09-14 05:25:58.714 INFO 12576 --- [ost-startStop-1] o。 s.web.context.ContextLoader:根WebApplicationContext: 初始化在871 ms完成2017-09-14 05:25:58.821信息12576 --- [ost-startStop-1] osbwservlet.ServletRegistrationBean:映射servlet:'dispatcherServlet 'to [/] 2017-09-14 05:25:58.823 INFO 12576 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean:映射过滤器: 'characterEncodingFilter'至:[/ ] 2017-09 -14 05:25:58.824 INFO 12576 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean:映射过滤器:'hiddenHttpMethodFilter'到:[/] 2017-09-14 05:25:58.824 INFO 12576 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean:映射过滤器: 'htt pPutFormContentFilter'到:[/ ] 2017-09-14 05:25:58.824信息 12576 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean: 映射过滤器:'requestContextFilter'到:[/] 2017 -09-14 05:25:58.848警告12576 --- [main] ationConfigEmbeddedWebApplicationContext:在上下文初始化期间遇到的异常 - 取消刷新尝试: org.springframework.beans。factory.UnsatisfiedDependencyException: 创建名为'examPle'的bean时出错:通过字段'sendMail'表示的不满意的依赖关系 ;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:否 类型为'com.example.demo.SendMail'的合格bean可用: 期望至少1个符合自动连线候选者的Bean。 依赖注释: {@ org.springframework.beans.factory.annotation.Autowired(required = true)} 2017-09-14 05:25:58.850 INFO 12576 --- [main] o.apache.catalina。 core.StandardService:停止服务[Tomcat的] 2017年9月14日05:25:58.861 INFO 12576 --- [主要] utoConfigurationReportLoggingInitializer:错误开始的ApplicationContext。要显示自动配置 报告,请启用'debug'重新运行您的应用程序。 2017-09-14 05:25:58.927错误12576 --- [main] osbdLoggingFailureAnalysisReporter:
*********************** ****应用程序未能启动
描述:
领域的Sendmail在com.example.demo.ExamPle所需类型的豆 'com.example.demo.SendMail' 可能不找到。
操作:
考虑您的 配置中定义类型 'com.example.demo.SendMail' 的豆。
这是我的POM文件
http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0
<groupId>com.mailsender</groupId>
<artifactId>MailSender</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>MailSender</name>
<description>ZemoPoint for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我已经卸载了我的jdk以及STS并安装了新的副本。现在我收到此错误
检查你的pom文件,看看javax.mail是否被意外标记为'provided';因此它在运行时丢失 – spiritwalker
请将您的pom.xml文件的内容发布。没有它,很难确定你为什么会得到这个错误。 – g00glen00b
@ spiritwalker @ g00glen00b根据要求添加pom文件。 – eightechess