网站首页 > java教程 正文
Spring框架为发送和接收邮件提供了许多有用的接口和类。
Theorg.springframework.mailpackage是在Spring框架中提供邮件支持的根包。
Spring Java Mail API
Spring框架中支持java邮件的接口和类如下所示:
MailSender接口:它是根接口。 它提供了发送简单邮件的基本功能。
JavaMailSender接口:它是MailSender的子接口。 它支持MIME消息。 它主要用于使用MimeMessageHelperclass创建JavaMailMimeMessage,附件等。弹簧框架建议使用此接口的MeMessagePreparator机制。
JavaMailSenderImpl类:它提供了JavaMailSender接口的实现。 它支持JavaMail MimeMessages和Spring SimpleMailMessages。
SimpleMailMessage类:它用于创建一个简单的邮件消息,包括从,到,cc,主题和文本消息。
MimeMessagePreparator接口:它是准备JavaMail MIME消息的回调接口。
MimeMessageHelper类:它是用于创建MIME消息的助手类。 它支持内联元素,如图像,典型的邮件附件和HTML文本内容。
Gmail服务器在Spring中发送邮件的示例
在这个例子中,我们使用两个spring邮件类:
用于创建消息的SimpleMailMessage。
JavaMailSenderImpl用于发送消息。
您需要创建以下用于通过Spring框架发送电子邮件的文件。
MailMail.java
applicationContext.xml中
Test.java
1)MailMail.java
这是定义mailSender属性的简单类。 MailSender的一个对象将在运行时提供给该属性。
在sendMail()方法中,我们创建SimpleMailMessage的实例并将信息存储到此对象中,例如from,to,subject和message。
MailSender接口的send()方法用于发送简单邮件。
2)applicationContext.xml
在这个xml文件中,我们正在为JavaMailSenderImpl类创建一个bean。 我们需要定义以下属性的值:
主办
用户名
密码
javaMailProperties
我们还使用mailSender属性为MailMail类创建bean。 现在,JavaMailSenderImpl类的实例将在MailMail类的mailSender属性中设置。
3)Test.java
该类从applicationContext.xml文件中获取mailMail的bean,并调用MailMail类的sendMail方法。
如何运行这个例子
加载核心和Java邮件的弹簧jar文件
加载mail.jar和activation.jar
更改applicationContext.xml文件中的用户名和密码属性,指定您的gmail ID和密码。
在Test.java文件中更改发件人gmail id和receivermail id。
编译并运行测试类
由主机提供商提供的服务器在Spring中发送邮件的示例
如果你有自己的网站,你可以使用你的邮件服务器。 MailMail.java和Test类将是相同的。 您只需更改Test.java文件中的发件人电子邮件ID。 applicationContext.xml文件中需要进行一些更改。
在applicationContext.xml文件中,我们使用:
mail.unitedsquaad.com作为主机名称。 更改。
a@unitedsquaad.com作为用户名。 更改。
用于密码的xxxxx。 更改。
发送邮件给多个接收者
您可以通过SimpleMailMessage类的帮助将邮件发送给多个接收者。 SimpleMailMessage类的ThesetTo(String [] receivers)方法用于向多个接收者发送消息。 让我们看看简单的代码。
Spring MimeMessagePreparator示例
我们可以通过MimeMessagePreparator接口的帮助发送MIME消息。 它有一个方法准备(MimeMessage消息)。
让我们看看发送MIME消息的简单代码。
applicationContext.xml和Test.java文件与上面给出的相同。
Spring发送附件MimeMessageHelper示例
我们可以通过MimeMessageHelper类的帮助,在春天发送附件的MIME消息。 建议使用比MimeMessagePreparator。
让我们看看简单的代码发送MIME消息与附件(图片)。
applicationContext.xml和Test.java文件与上面给出的相同。
猜你喜欢
- 2024-10-08 避免重复造轮子,Java 程序员必备
- 2024-10-08 Java二十周年特别策划--谈谈我与Java的那些年、这些事
- 2024-10-08 Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统
- 2024-10-08 Java程序员必须了解的20个lib库(郑州java程序员工资一般多少)
- 2024-10-08 使用java写爬虫时可能会用到.httpclient中Headers及Cookies
- 2024-10-08 Java二十周年特别策划——谈谈我与Java的那些年、这些事
- 2024-10-08 白当了这么多年程序员,今天才发现伪造邮件的小秘密
- 2024-10-08 SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码)
- 2024-10-08 如何将自己的jar包发布到maven中央仓库,让别人也能使用?
- 2024-10-08 郑州Java学习进阶课程之消息队列(java中消息队列什么意思)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)