java发送图片_Java发送邮件(图片、附件、HTML)

本文详细介绍了如何使用Java进行邮件服务配置,包括SMTP服务器地址和协议,以及163和QQ邮箱的授权配置。通过示例展示了发送普通邮件、HTML格式邮件、带图片的HTML邮件和带附件邮件的Java代码实现。
摘要由CSDN通过智能技术生成

一、简介

要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。

SMTP服务器地址:

一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。

SMTP协议:

通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。

e9a89152a4cd49c900f023852172cfbb.png

POP3协议:

通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器)。

20b9234cc432ed9c5d3641fafbe448ae.png

二、邮箱服务授权配置

163邮箱在:设置—POP3中,打开相应的配置属性;

QQ邮箱:设置—账户安全中,打开相应的配置信息;

二、pom.xml依赖

org.springframework.boot

spring-boot-starter-mail

commons-net

commons-net

3.3

三、properties配置文件

#邮箱的账号(163邮箱)

spring.mail.host= smtp.163.com

spring.mail.username=comlydms@163.com

spring.mail.password=158143484fs

spring.mail.properties.mail.smtp.auth=true

spring.mail.properties.mail.starttls.enable=true

spring.mail.properties.mail.starttls.required=true

四、发送普通邮件

1、web层代码

/**

* 测试普通邮件调用

*/

@RequestMapping(value = "/simpleEmail", method = {RequestMethod.POST})

public ApiResult sendSimpleEmail() {

mailService.sendSimpleMail("395096666@qq.com", "这是一个测试邮件", "这是一个测试邮件");

return ApiResult.succ("调用成功");

}

2、Service代码

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired

private JavaMailSender sender;

@Value("${spring.mail.username}")

private String fromMail;

/**

* 发送普通邮件

*

* @param toMail 收件方

* @param subject 标题

* @param content 邮件内容

*/

public void sendSimpleMail(String toMail, String subject, String content) {

SimpleMailMessage simpleMailMessage = new SimpleMailMessage();

simpleMailMessage.setFrom(fromMail);

simpleMailMessage.setTo(toMail);

simpleMailMessage.setSubject(subject);

simpleMailMessage.setText(content);

try {

sender.send(simpleMailMessage);

logger.info("发送给:{}简单邮件已经发送。 subject:{}", toMail, subject);

} catch (Exception e) {

logger.info("发送给:{}send mail error subject:{}", toMail, subject);

e.printStackTrace();

}

}

二、发送Html格式邮件

1、Web层代码

/**

* 测试Html格式调用

*/

@RequestMapping(value = "/htmlEmail", method = {RequestMethod.POST})

public ApiResult sendHtmlEmail() {

// 1、拼接模拟的数据

English english = new English();

english.setEnglish("my");

english.setChinese("我的");

english.setCodechinese("自己的东西");

ArrayList en = new ArrayList<>();

en.add(english);

en.add(english);

// 2.1、写html开始内容

String start = "

定时发送
英文 标准注解 代码中注解

// 2-2、表html中间内容

String prime = "";

for (int i = 0; i < en.size(); i++) {

English english1 = en.get(i);

String center = "

EnglishChineseCodeChinese";

String one = center.replaceFirst("English", english1.getEnglish());

String two = one.replaceFirst("Chinese", english1.getChinese());

String result = two.replaceFirst("CodeChinese", english1.getCodechinese());

prime = prime + result;

}

// 2-3、写html结尾内容

String end = "

";

// 3、拼接html

String html = start + prime + end;

// 4、发送邮件

mailService.sendHtmlMail("395096666@q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值