這是博主自己本地記在有道雲的,現在都發出來,希望對你們有幫助哈。

話不多說,直接上程式碼~

一、依賴

<!——

javax

mail

——>

<

dependency

>

<

groupId

>

com

sun

mail

groupId

>

<

artifactId

>

javax

mail

artifactId

>

<

version

>

1

6

0

version

>

dependency

>

二、郵箱配置

mail

smtp

auth

=

true

mail

transport

protocol

=

smtp

mail

send

charset

=

UTF

-

8

mail

smtp

port

=

465

mail

is

ssl

=

true

mail

host

=

smtp

163

com

mail

auth

name

=

xx

@163。com

mail

auth

password

=

mail

smtp

timeout

=

5000

三、程式碼

工具類 EmailUtils

package

cn。aduu。utils

import

com。sun。mail。util。MailSSLSocketFactory

import

org。slf4j。Logger

import

org。slf4j。LoggerFactory

import

org。springframework。beans。factory。annotation。Autowired

import

org。springframework。core。env。Environment

import

org。springframework。mail。javamail。JavaMailSenderImpl

import

org。springframework。mail。javamail。MimeMessageHelper

import

org。springframework。stereotype。Component

import

javax。annotation。PostConstruct

import

javax。mail。internet。MimeMessage

import

java。io。File

import

java。security。GeneralSecurityException

import

java。util。List

import

java。util。Map

import

java。util。Properties

/**

* @author zh

* @ClassName cn。aduu。utils。EmailUtils

* @Description

*/

@Component

public

class

EmailUtils

{

private

static

final

Logger

logger

=

LoggerFactory

getLogger

EmailUtils

class

);

@Autowired

private

Environment

env

private

static

String

auth

private

static

String

host

private

static

String

protocol

private

static

int

port

private

static

String

authName

private

static

String

password

private

static

boolean

isSSL

private

static

String

charset

private

static

String

timeout

@PostConstruct

public

void

initParam

()

{

auth

=

env

getProperty

“mail。smtp。auth”

);

host

=

env

getProperty

“mail。host”

);

protocol

=

env

getProperty

“mail。transport。protocol”

);

port

=

env

getProperty

“mail。smtp。port”

Integer

class

);

authName

=

env

getProperty

“mail。auth。name”

);

password

=

env

getProperty

“mail。auth。password”

);

charset

=

env

getProperty

“mail。send。charset”

);

isSSL

=

env

getProperty

“mail。is。ssl”

Boolean

class

);

timeout

=

env

getProperty

“mail。smtp。timeout”

);

}

/**

* 傳送郵件

* @param subject 主題

* @param toUsers 收件人

* @param ccUsers 抄送

* @param content 郵件內容

* @param attachfiles 附件列表 List> key: name && file

*/

public

static

boolean

sendEmail

String

subject

String

[]

toUsers

String

[]

ccUsers

String

content

List

<

Map

<

String

String

>>

attachfiles

{

boolean

flag

=

true

try

{

JavaMailSenderImpl

javaMailSender

=

new

JavaMailSenderImpl

();

javaMailSender

setHost

host

);

javaMailSender

setUsername

authName

);

javaMailSender

setPassword

password

);

javaMailSender

setDefaultEncoding

charset

);

javaMailSender

setProtocol

protocol

);

javaMailSender

setPort

port

);

Properties

properties

=

new

Properties

();

properties

setProperty

“mail。smtp。auth”

auth

);

properties

setProperty

“mail。smtp。timeout”

timeout

);

if

isSSL

){

MailSSLSocketFactory

sf

=

null

try

{

sf

=

new

MailSSLSocketFactory

();

sf

setTrustAllHosts

true

);

properties

put

“mail。smtp。ssl。enable”

“true”

);

properties

put

“mail。smtp。ssl。socketFactory”

sf

);

}

catch

GeneralSecurityException

e

{

e

printStackTrace

();

}

}

javaMailSender

setJavaMailProperties

properties

);

MimeMessage

mailMessage

=

javaMailSender

createMimeMessage

();

MimeMessageHelper

messageHelper

=

new

MimeMessageHelper

mailMessage

true

);

messageHelper

setTo

toUsers

);

if

ccUsers

!=

null

&&

ccUsers

length

>

0

{

messageHelper

setCc

ccUsers

);

}

messageHelper

setFrom

authName

);

messageHelper

setSubject

subject

);

messageHelper

setText

content

true

);

if

attachfiles

!=

null

&&

attachfiles

size

()

>

0

{

for

Map

<

String

String

>

attachfile

attachfiles

{

String

attachfileName

=

attachfile

get

“name”

);

File

file

=

new

File

attachfile

get

“file”

));

messageHelper

addAttachment

attachfileName

file

);

}

}

javaMailSender

send

mailMessage

);

}

catch

Exception

e

{

logger

error

“傳送郵件失敗!”

e

);

flag

=

false

}

return

flag

}

}

四、測試

package

cn。aduu。web

import

cn。aduu。utils。EmailUtils

import

com。fasterxml。jackson。core。JsonProcessingException

import

org。slf4j。Logger

import

org。slf4j。LoggerFactory

import

org。springframework。web。bind。annotation。RequestMapping

import

org。springframework。web。bind。annotation。RestController

/**

* @author zh

* @ClassName cn。aduu。web。EmailController

* @Description

*/

@RestController

public

class

EmailController

{

private

static

final

Logger

logger

=

LoggerFactory

getLogger

EmailController

class

);

@RequestMapping

“sendEmail”

public

String

sendEmail

()

throws

JsonProcessingException

{

boolean

isSend

=

EmailUtils

sendEmail

“這是一封測試郵件”

new

String

[]{

“3379218@qq。com”

},

null

百度一下,你就知道

null

);

return

“傳送郵件:”

+

isSend

}

}

SpringBoot傳送郵件

SpringBoot傳送郵件

PS:如果覺得我的分享不錯,歡迎大家隨手點贊~

原文連結:SpringBoot(十一):SpringBoot傳送郵件 - Saytime - CSDN部落格