cc150 java_javaMail 的邮件发送包括了抄送(CC),密送(BCC)采用springBoot

javaMail 的邮件发送包括了抄送(CC),密送(BCC)采用springBoot

发布时间:2018-01-31 19:46,

浏览次数:656

, 标签:

javaMail

CC

BCC

springBoot

首先加代码配置文件来一个

mail.properties

mail.smtp.host=smtp.qq.com mail.smtp.port=465 mail.smtp.SSLport=587

mail.smtp.starttlsEnable=true mail.smtp.auth=true

mail.smtp.account=11036128@qq.com mail.smtp.password=qrqzbcfslyhaai

mail.smtp.timeout=50000 mail.smtp.connectiontimeout=50000 mail.smtp.nickname=ewe

我使用的是腾讯qq邮箱

首先要去腾讯qq的设置===》账户》》开通授权码,第三方登陆需要授权码当成密码使用

然后在springboot引入这个配置文件

package com.ewe.core.utils; import java.util.Arrays; import java.util.Date;

import java.util.List; import java.util.Properties; import javax.mail.Message;

import javax.mail.Session; import javax.mail.Transport; import

javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;

import org.apache.commons.logging.Log; import

org.apache.commons.logging.LogFactory; import

org.springframework.boot.context.properties.ConfigurationProperties; import

org.springframework.context.annotation.PropertySource; import

org.springframework.stereotype.Component; import

com.ewe.core.datasource.TransactionAspect; import

com.ewe.user.model.BatchSendMessage; @Component

@ConfigurationProperties(prefix="mail.smtp") @PropertySource("mail.properties")

public class MailUtil { //("${mail.smtp.host}") private String host;

//("${mail.smtp.port}") private String port; //("${mail.smtp.SSLport}") private

String SSLport; //("${mail.smtp.starttlsEnable}") private String

starttlsEnable; //("${mail.smtp.auth}") private String auth;

//("${mail.smtp.connectiontimeout}") private String connectiontimeout;

//("${mail.smtp.account}") private String account; //("${mail.smtp.password}")

private String password; //("${mail.smtp.timeout}") private String timeout;

private String nickname ="ewe";//发送者,显示的发件人名字 protected static Log LOGGER =

LogFactory.getLog(MailUtil.class); //带CC(抄送)的邮件发送 public boolean

sendSSLEmailWithCC(List listEmails, List cc, String title,

String content ,List bcc) throws Exception {

LOGGER.info("开始发送邮件,email==>"+listEmails+",title==>"+title); Properties props =

System.getProperties(); props.put("mail.smtp.host", host); // 指定协议

props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.port",

SSLport); props.put("mail.smtp.starttls.enable", starttlsEnable);

props.put("mail.smtp.auth", auth); props.put("mail.smtp.connectiontimeout",

connectiontimeout); props.put("mail.smtp.timeout", timeout);

props.put("mail.smtp.debug", true); Transport transport = null; Session session

= Session.getDefaultInstance(props, null); transport =

session.getTransport("smtp"); transport.connect(host, account, password);

MimeMessage msg = new MimeMessage(session); msg.setSentDate(new Date());

InternetAddress fromAddress = new InternetAddress(account,nickname);

msg.setFrom(fromAddress); InternetAddress[] toAddress = new

InternetAddress[listEmails.size()]; for(int k = 0;k

String emailAddress = listEmails.get(k); new InternetAddress(emailAddress);

toAddress[k]=new InternetAddress(emailAddress); }

LOGGER.debug("当前需要发送邮件的地址信息============>{}"+Arrays.deepToString(toAddress));

msg.addRecipients(Message.RecipientType.TO, toAddress); //增加CC功能 if(cc != null)

{ InternetAddress[] ccAddress = new InternetAddress[cc.size()]; for(int k =

0;k

InternetAddress(emailAddress); ccAddress[k]=new InternetAddress(emailAddress);

} msg.addRecipients(Message.RecipientType.CC, ccAddress); } //增加BCC功能 if(bcc !=

null) { InternetAddress[] bccAddress = new InternetAddress[bcc.size()]; for(int

k = 0;k

InternetAddress(emailAddress); bccAddress[k]=new InternetAddress(emailAddress);

} msg.addRecipients(Message.RecipientType.BCC, bccAddress); }

msg.setSubject(title, "UTF-8"); //发送文本邮件 msg.setContent(content, "text/html;

charset=utf-8"); transport.sendMessage(msg, msg.getAllRecipients());

LOGGER.info("邮件已发送"); return true; } public String getHost() { return host; }

public void setHost(String host) { this.host = host; } public String getPort()

{ return port; } public void setPort(String port) { this.port = port; } public

String getSSLport() { return SSLport; } public void setSSLport(String sSLport)

{ SSLport = sSLport; } public String getStarttlsEnable() { return

starttlsEnable; } public void setStarttlsEnable(String starttlsEnable) {

this.starttlsEnable = starttlsEnable; } public String getAuth() { return auth;

} public void setAuth(String auth) { this.auth = auth; } public String

getConnectiontimeout() { return connectiontimeout; } public void

setConnectiontimeout(String connectiontimeout) { this.connectiontimeout =

connectiontimeout; } public String getAccount() { return account; } public void

setAccount(String account) { this.account = account; } public String

getPassword() { return password; } public void setPassword(String password) {

this.password = password; } public String getTimeout() { return timeout; }

public void setTimeout(String timeout) { this.timeout = timeout; } public

static Log getLOGGER() { return LOGGER; } public static void setLOGGER(Log

lOGGER) { LOGGER = lOGGER; } public String getMailTitle() { return nickname; }

public void setMailTitle(String nickname) { this.nickname = nickname; } }测试可用

依赖maven加的是

com.sun.mail

javax.mail1.5.4

里面的一些port 是不加密 SSLport是加密的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值