使用SpringBoot發送郵件

最後發送成功後,感受SpringBoot真的很強大.java

http://www.ykmimi.com/emailweb

↑待加入email輸入的重載(能夠不上傳文件或能夠不填寫主內容)spring

↑待加入郵箱RegExp,title長度斷定.(等瑣碎工做)apache

首先建立SpringBoot項目瀏覽器

>>使用eclipse構建Spring項目 https://blog.csdn.net/fantasic_van/article/details/79309665 (eclipse未測試)
springboot

>>IDEA構建SpringBoot項目 https://blog.csdn.net/lom9357bye/article/details/69677120app

 

以後設置pom.xml文件 (紅色是SpringBoot的郵件服務依賴)eclipse

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ykmimi</groupId>
    <artifactId>springbootdemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springbootdemo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.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-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>



</project>

這裏我用的IDEA,等待它自動加載依賴完成.maven

在resource下的application.properties加入:spring-boot

spring.mail.host=smtp.126.com
spring.mail.username=發送郵箱@126.com
spring.mail.password=客戶端受權碼
spring.mail.default-encoding=UTF-8
#spring.mail.port=25
#spring.mail.protocol=smtp
#server.port=8080

126郵箱的受權密碼開啓方式:

建立一個Contoller

package com.ykmimi;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

@RestController
@RequestMapping("mail")
public class MailController {
    @Autowired
    JavaMailSender mailSender;

    @RequestMapping("sendmail")
    public Object sendEmail(){

        try {
            final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
            final MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
            message.setFrom("發送郵箱@126.com");
            message.setTo("接收郵箱@qq.com");
            message.setSubject("測試郵件主題");
            message.setText("測試郵件內容");
            this.mailSender.send(mimeMessage);
        } catch (MessagingException e) {
            e.printStackTrace();
        } finally {
            return "sendEmail!";
        }

    }
}

以後執行測試類 SpringbootdemoApplication

瀏覽器執行  http://localhost:8080/mail/sendmail

 

---------------------------------------------------------------

通常不少網站上都是手機註冊或郵箱註冊,郵箱是獲取一個隨機的激活碼,或激活連接(點開即激活帳號使用)

相關文章
相關標籤/搜索