使用JavaMail SMTP协议发送邮件
来源:互联网 发布:免费优盘数据恢复软件 编辑:程序博客网 时间:2024/05/16 18:35
使用JavaMail SMTP协议发送邮件
发现用javamail包可以很方便的实现。示例程序使用gmail的邮件服务器来发送邮件。关于SMTP端口等配置见下面链接:
https://support.google.com/mail/bin/answer.py?hl=en&answer=13287
注:下面程序需导入javaee-api-6.0.jar 跟 mail.jar
1.使用TLS发送邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import
java.util.Properties;
import
javax.mail.Message;
import
javax.mail.MessagingException;
import
javax.mail.PasswordAuthentication;
import
javax.mail.Session;
import
javax.mail.Transport;
import
javax.mail.internet.InternetAddress;
import
javax.mail.internet.MimeMessage;
public
class
SendMailTLS {
public
static
void
main(String[] args) {
final
String username =
"someoe@gmail.com"
;
final
String password =
"password"
;
Properties props =
new
Properties();
props.put(
"mail.smtp.auth"
,
"true"
);
props.put(
"mail.smtp.starttls.enable"
,
"true"
);
props.put(
"mail.smtp.host"
,
"smtp.gmail.com"
);
props.put(
"mail.smtp.port"
,
"587"
);
Session session = Session.getInstance(props,
new
javax.mail.Authenticator() {
protected
PasswordAuthentication getPasswordAuthentication() {
return
new
PasswordAuthentication(username, password);
}
});
try
{
Message message =
new
MimeMessage(session);
message.setFrom(
new
InternetAddress(
"someone@gmail.com"
));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(
"someone@yourISP.com"
));
message.setSubject(
"Testing Subject"
);
message.setText(
"Dear Mail Crawler,"
+
"\n\n No spam to my email, please!"
);
Transport.send(message);
System.out.println(
"Done"
);
}
catch
(MessagingException e) {
throw
new
RuntimeException(e);
}
}
}</span>
2.使用SSL发送邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<span style=
"font-size:18px;"
><span style=
"font-size:16px;"
>
import
java.util.Properties;
import
javax.mail.Message;
import
javax.mail.MessagingException;
import
javax.mail.PasswordAuthentication;
import
javax.mail.Session;
import
javax.mail.Transport;
import
javax.mail.internet.InternetAddress;
import
javax.mail.internet.MimeMessage;
public
class
SendMailSSL {
public
static
void
main(String[] args) {
Properties props =
new
Properties();
props.put(
"mail.smtp.host"
,
"smtp.gmail.com"
);
props.put(
"mail.smtp.socketFactory.port"
,
"465"
);
props.put(
"mail.smtp.socketFactory.class"
,
"javax.net.ssl.SSLSocketFactory"
);
props.put(
"mail.smtp.auth"
,
"true"
);
props.put(
"mail.smtp.port"
,
"465"
);
Session session = Session.getDefaultInstance(props,
new
javax.mail.Authenticator() {
protected
PasswordAuthentication getPasswordAuthentication() {
return
new
PasswordAuthentication(
"username"
,
"password"
);
}
});
try
{
Message message =
new
MimeMessage(session);
message.setFrom(
new
InternetAddress(
"from@no-spam.com"
));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(
"to@no-spam.com"
));
message.setSubject(
"Testing Subject"
);
message.setText(
"Dear Mail Crawler,"
+
"\n\n No spam to my email, please!"
);
Transport.send(message);
System.out.println(
"Done"
);
}
catch
(MessagingException e) {
throw
new
RuntimeException(e);
}
}
}
转自:http://jia1546.is-programmer.com/posts/32912.html
0 0
- 使用JavaMail SMTP协议发送邮件
- 使用JavaMail SMTP协议发送邮件
- JavaMail(1)--使用SMTP协议发送简单邮件
- 使用JavaMail通过SMTP协议发送局域网(内网)邮件
- 使用javamail发送SMTP验证邮件
- 使用javamail利用SMTP服务发送邮件
- 使用JavaMail连接邮件发送服务器smtp
- 使用SMTP协议发送邮件
- 使用smtp协议发送邮件
- JavaMail使用SMTP协议发送电子邮件
- JavaMail使用SMTP协议发送电子邮件
- JavaMail使用SMTP协议发送电子邮件(详解)
- JavaMail使用SMTP协议发送电子邮件(详解)
- JavaMail使用SMTP协议发送电子邮件(详解)
- java邮件发送的简单实现,使用javamail通过smtp协议发信
- javamail技术smtp发送邮件
- javamail技术smtp发送邮件
- SMTP协议发送邮件
- C++函数返回值的特殊情况(返回引用、非引用、引用左值)
- ReferenceErroe: setImmediate is not defied
- dede后台文章已删除,分页还在
- MySQL锁定机制简介
- big之DP
- 使用JavaMail SMTP协议发送邮件
- C语言中memset-memcpy(memmove memccpy)-strcpy函数源代码
- iBatis-iBatis配置环境(eclipse+mysql)
- js实现表格变色点击行颜色改变
- 可爱的天秤座
- __FILE__和__FUNCTION__的使用
- ArcGIS影像技术之镶嵌数据集概览
- 人生有五不:不等、不管、不看、不做、不给
- ms sql server缓存清除与内存释放