java-邮件发送

摘要:
最近,项目的注册模块需要发送电子邮件。因此,我们只研究Java中的电子邮件发送。PublicvoidsendEamil{EmailsimpleEmail=newSimpleEmail();simpleEmail.setCharset;simpleEmail.setHostName;simpleEmael.setAuthentication;simpleEmaile.setSmtpPort;try{simpleEmail.setSubject;simpleEmail.setMsg;simpleEmails.setFrom;simpleEmail.addTo;simpleEmail.send();}catch{e.printStackTrace();}其中,from和pas password是发件人的电子邮件名称和密码,sendTo是收件人的电子邮件地址,Msg是发送消息的内容。我的邮箱是163。在发送之前,我需要在邮箱中打开smtp服务。首先,在application.conf.Mail中设置smtp、发件人的电子邮件地址和密码。smtp。主机=smtp。163.com邮件。smtp。user=邮件。smtp。pass=邮件。smtp。channel=ssl接下来,我们调用编写发送函数的方法。在该方法中,我们调用Play的Email类来发送邮件。邮件的相关属性存储在邮件中。属性文件。

最近在项目的注册模块需要发送邮件,因此,简单的调研了下java中的邮件发送。

一种简单的方式是直接使用JavaMail架包。其Maven依赖如下:

<dependency>
<groupId>commons-email</groupId>
<artifactId>commons-email</artifactId>
<version>1.1</version>
</dependency>

<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.0</version>
</dependency>
接下来就可以写一个简单的测试函数来测试邮件的发送与接受了。
public void sendEamil(String from, String password, String sendTo, String msg){

Email simpleEmail = new SimpleEmail();
simpleEmail.setCharset("utf8");

simpleEmail.setHostName("smtp.163.com");
simpleEmail.setAuthentication(from, password);
simpleEmail.setSmtpPort(25);

try {
simpleEmail.setSubject("测试");
simpleEmail.setMsg(msg);
simpleEmail.setFrom(from);
simpleEmail.addTo(sendTo);
simpleEmail.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
其中,from和password分别是发送者的邮箱名和密码,sendTo是接收者的邮箱地址,msg是发送邮件的内容。我使用的发送邮箱是163邮箱,发送前需要去邮箱中开通smtp服务。

因为项目使用的Play框架,因此,还尝试了在play框架中发送邮件。

首先,在application.conf中设置smtp、发送者的邮箱地址和密码等。
mail.smtp.host=smtp.163.com
mail.smtp.user=
mail.smtp.pass=
mail.smtp.channel=ssl

接下来调用编写一个发送函数的方法,方法中调用了Play的Email类来发送邮件,邮件的相关属性存储在mail.properties文件中。
public static   void sendValidateEmail(String email, String username) {
SimpleEmail sendEmail = new SimpleEmail();
sendEmail.setCharset("utf8");

SimpleDateFormat formater = new SimpleDateFormat("yyyy年MM月dd日");
String time =formater.format(new Date());

Properties prop = new Properties();
try {
prop.load(AccountManagement.class.getClassLoader()
.getResourceAsStream("mail.properties"));
} catch (IOException e1) {
e1.printStackTrace();
}
try {
sendEmail.setSubject(prop.getProperty("subject"));
content = “hello Email”;

sendEmail.setMsg(content);
sendEmail.setFrom(prop.getProperty("from"));
sendEmail.addTo(email);

Mail.send(sendEmail);
//System.out.println("121212345667777777");
} catch (EmailException e) {
e.printStackTrace();
}
}

但是,很遗憾没有接受到邮件,也没有报错。目前正在找原因,还请熟悉play框架的大牛指导一二。

免责声明:文章转载自《java-邮件发送》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(六)c#中的委托和事件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java邮件发送与接收原理

一、 邮件开发涉及到的一些基本概念 1.1、邮件服务器和电子邮箱   要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。   这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中...

Golang邮件发送

简介: 电子邮件的应用非常广泛,常见在某网站注册一个账号,自动发送一封激活邮件,通过邮件找回密码,自动批量发送活动信息等等。这些应用不可能与平时发邮件一样,先打开浏览器,登录邮箱在发送。 如何通过Go语言代码来创建电子邮件,并连接邮件服务器发送邮件? 电子邮件在网络中传输和网页一样需要遵守特定的协议。常见的电子邮件协议包括:SMTP,POP3,LMAP。其...

PowerShell发送邮件(587)

#定义邮件服务器 $smtpServer = "mail.xx.com" $smtpUser = "sender" $smtpPassword = "password" $mail = New-Object System.Net.Mail.MailMessage #定义发件人邮箱地址、收件人邮箱...

各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况

网络产品推广和新闻消息推送时,经常用到的工具就是用客户邮箱发送邮件了,如果是要发送的邮件量非常大的话,一般的建议是搭建自己的邮局服务器,或者是花钱购买专业的邮件群发服务,免费邮箱的SMTP适合少量的邮件群发需求。 例如Wordpress的评论邮件通知功能,每天要发送的邮件数量最多可能是几百封,如果用PHP自带的Mail()函数发送,容易被各大邮箱判定为垃圾...

常用邮箱SMTP服务器地址大全

常用邮箱SMTP服务器地址大全 阿里云邮箱(mail.aliyun.com) POP3服务器地址:pop3.aliyun.com(SSL加密端口:995;非加密端口:110) SMTP服务器地址:smtp.aliyun.com(SSL加密端口:465;非加密端口:25) IMAP服务器地址:imap.aliyun.com(SSL加密端口:993;非加...

[转]邮件服务器常见错误列表

网上看到的,转至本园来,以备忘邮件服务器400错误报告   Q:421 Server too busyA:因为收件方服务器问题无法连接,这是收件方服务器的SMTP session Full或者是因为收件方服务器 Traffic 无法进行新的 SMTP 连接。请过一会儿重新发送,如继续发生错误时向收件方管理员咨询。Q:421-Microsoft ESMTP...