首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
fetch
cSharp
command
format
post
node.js
httpclient
get
md5
int
buffer
join
python3
controller
replace
grid
golang
regex
datetime
byte
jsp
window
loops
utf-8
string
integer
flutter
heap
ascii
filter
bytecode
random
eval
process
cPlusPlus
email
iostream
scala
go
expression
java
client
rsa
match
future
cmd
less
dll
actionscrip
keyword
shell
copy
list
case
数组
chat
ip
triggers
stream
include
function
audio
tags
substring
bash
header
spring
text
jar
hashtable
hook
web
php5
merge
export
usb
solr
split
emoji
当前位置:
开发笔记
>
编程语言
> 正文
apache发送邮件和java自身发送邮件对比
作者:快乐的kang918_863 | 来源:互联网 | 2013-04-19 09:59
apache发送邮件和java自身发送邮件对比
Java代码
import
java.net.URL;
import
java.util.Properties;
import
javax.activation.DataHandler;
import
javax.activation.FileDataSource;
import
javax.mail.Authenticator;
import
javax.mail.BodyPart;
import
javax.mail.Message;
import
javax.mail.MessagingException;
import
javax.mail.Multipart;
import
javax.mail.PasswordAuthentication;
import
javax.mail.Session;
import
javax.mail.Transport;
import
javax.mail.internet.InternetAddress;
import
javax.mail.internet.MimeBodyPart;
import
javax.mail.internet.MimeMessage;
import
javax.mail.internet.MimeMultipart;
import
org.apache.commons.mail.DefaultAuthenticator;
import
org.apache.commons.mail.Email;
import
org.apache.commons.mail.EmailAttachment;
import
org.apache.commons.mail.EmailException;
import
org.apache.commons.mail.HtmlEmail;
import
org.apache.commons.mail.MultiPartEmail;
import
org.apache.commons.mail.SimpleEmail;
import
org.junit.After;
import
org.junit.Before;
import
org.junit.Test;
public
class
JavaMail {
@Test
public
void
defaultSendMail()
throws
Exception {
String host =
"smtp.sina.com"
;
// "smtp.gmail.com"
String port =
"25"
;
//"465"
Properties props =
new
Properties();
props.setProperty(
"mail.smtp.host"
, host);
props.setProperty(
"mail.smtp.port"
, port);
props.setProperty(
"mail.smtp.auth"
,
"true"
);
props.setProperty(
"mail.smtp.ssl.enable"
,
"false"
);
//"true"
props.setProperty(
"mail.smtp.connectiontimeout"
,
"5000"
);
final
String user =
"***@sina.com"
;
//"***@gmail.com"
final
String pwd =
"***"
;
Session session = Session.getDefaultInstance(props,
new
Authenticator() {
@Override
protected
PasswordAuthentication getPasswordAuthentication() {
//登录用户名密码
return
new
PasswordAuthentication(user,pwd);
}
});
session.setDebug(
true
);
Transport transport = session.getTransport(
"smtp"
);
//"smtps"
transport.connect(host,user,pwd);
//消息
MimeMessage message =
new
MimeMessage(session);
setMailContent(message);
//。。。。。。。。。。。。。。。。。。
message.setSubject(
"邮件标题"
);
//消息发送者接收者设置
//message.setFrom(new InternetAddress(user,"发件人名称"));
message.addRecipients(Message.RecipientType.TO,
new
InternetAddress[]{
new
InternetAddress(
"to1@163.com"
,
"to1昵称"
),
new
InternetAddress(
"to2@163.com"
,
"to2昵称"
)
});
message.saveChanges();
//发送
transport.send(message);
//Transport.send(message);
transport.close();
}
//设定邮件内容
private
void
setMailContent(MimeMessage message)
throws
MessagingException {
//方法一:只有文本邮件
//message.setContent("邮件内容..", "text/plain");//纯文本内容
//方法二:添加附件的邮件
Multipart part =
new
MimeMultipart();
BodyPart bodypart1 =
new
MimeBodyPart();
bodypart1.setText(
"邮件内容"
);
part.addBodyPart(bodypart1 );
BodyPart bodypart2 =
new
MimeBodyPart();
bodypart2.setFileName(
"fileName"
);
bodypart2.setDataHandler(
new
DataHandler(
new
FileDataSource(
"f:\\ok.txt"
)));
part.addBodyPart(bodypart2);
message.setContent(part);
}
@Test
public
void
apacheSendMail()
throws
Exception {
SimpleEmail email =
new
SimpleEmail();
email.setHostName(
"smtp.gmail.com"
);
email.setSSL(
true
);
email.setSmtpPort(
465
);
// email.setSslSmtpPort("465");
email.setTLS(
true
);
//gmail
email.setAuthenticator(
new
DefaultAuthenticator(
"h***@gmail.com"
,
"***"
));
email.setFrom(
"h***@gmail.com"
);
email.setSubject(
"TestCommonMail"
);
email.setCharset(
"gbk"
);
//文本邮件
email.setMsg(
"This is a test mail ... :-)"
);
email.addTo(
"**to@qq.com"
);
email.send();
}
@Test
public
void
apacheSendHtmlMail()
throws
Exception {
HtmlEmail email =
new
HtmlEmail();
email.setHostName(
"smtp.gmail.com"
);
email.setSSL(
true
);
email.setSmtpPort(
465
);
email.setTLS(
true
);
//gmail
email.setAuthenticator(
new
DefaultAuthenticator(
"h***@gmail.com"
,
"***"
));
email.setFrom(
"h***@gmail.com"
);
email.addTo(
"**to@qq.com"
);
email.setSubject(
"TestCommonMail"
);
email.setCharset(
"gbk"
);
//html邮件
String cid = email.embed(
new
URL(
"http://www.google.com.tw/intl/en_com/images/srpr/logo1w.png"
),
"google logo"
);
email.setHtmlMsg(
"The logo -
+cid+
"'>"
);
email.send();
}
@Test
public
void
apacheSendAttachMail()
throws
Exception {
MultiPartEmail email =
new
MultiPartEmail();
email.setHostName(
"smtp.gmail.com"
);
email.setSSL(
true
);
email.setSmtpPort(
465
);
email.setTLS(
true
);
//gmail
email.setAuthenticator(
new
DefaultAuthenticator(
"h***@gmail.com"
,
"***"
));
email.setFrom(
"h***@gmail.com"
);
email.addTo(
"**to@qq.com"
);
email.setSubject(
"TestCommonMail"
);
email.setMsg(
"This is a test mail ... :-)"
);
email.setCharset(
"gbk"
);
EmailAttachment attach =
new
EmailAttachment();
attach.setName(
"attachFileName"
);
attach.setPath(
"f:\\ok.txt"
);
attach.setDescription(EmailAttachment.ATTACHMENT);
email.attach(attach );
email.send();
}
}
apache
html
go
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
int
微软头条实习生分享深度学习自学指南
本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ...
[详细]
蜡笔小新 2023-12-14 20:58:32
int
如何实现织梦DedeCms全站伪静态
本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ...
[详细]
蜡笔小新 2023-12-14 19:45:47
int
每天收获一点点Hadoop概述
一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ...
[详细]
蜡笔小新 2023-12-14 18:58:01
int
Android 新闻App的本地服务器搭建教程
本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ...
[详细]
蜡笔小新 2023-12-14 17:15:19
get
【译】发送表单数据
这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ...
[详细]
蜡笔小新 2023-12-14 16:19:10
byte
数据库的存储结构及其重要性
本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ...
[详细]
蜡笔小新 2023-12-14 16:00:02
int
CSS3选择器的使用方法详解,提高Web开发效率和精准度
本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ...
[详细]
蜡笔小新 2023-12-14 14:37:52
utf-8
Alink回归预测的不完善问题及期待
本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ...
[详细]
蜡笔小新 2023-12-14 14:25:33
string
Open judge C16H: Magical Balls 快速幂+逆元问题解析
本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ...
[详细]
蜡笔小新 2023-12-14 12:03:27
string
WinPythonHadoop在Win10上安装教程
本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ...
[详细]
蜡笔小新 2023-12-14 11:26:56
string
知识图谱——机器大脑中的知识库
本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ...
[详细]
蜡笔小新 2023-12-14 10:06:19
window
解决Mac上无法使用localhost连接mysql的问题
本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ...
[详细]
蜡笔小新 2023-12-13 17:48:58
window
如何在Windows环境下配置php+apache环境
本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ...
[详细]
蜡笔小新 2023-12-13 10:39:24
jsp
Java项目管理工具及配置教程推荐
本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ...
[详细]
蜡笔小新 2023-12-13 06:45:16
jsp
mac php错误日志配置方法及错误级别修改
本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ...
[详细]
蜡笔小新 2023-12-12 11:59:08
快乐的kang918_863
这个家伙很懒,什么也没留下!
Tags | 热门标签
fetch
cSharp
command
format
post
node.js
httpclient
get
md5
int
buffer
join
python3
controller
replace
grid
golang
regex
datetime
byte
jsp
window
loops
utf-8
string
integer
flutter
heap
ascii
filter
RankList | 热门文章
1
java怎么判断某个点是否在所画多边形/圆形内
2
ae无法绘制正方形怎么办? ae矩形路径绘制正方形的教程
3
smarty获得当前url办法分享
4
Servlet运行原理图解
5
Linux学习笔记:psef、ps aux、kill9
6
Vue项目之ElementUI(Breadcrumb)动态面包屑效果
7
八个物联网平台商必须自问的问题
8
Lambda常用操作
9
otp远程服务器,通过 Yubico OTP 进行双因素认证(服务端)
10
C#学习教程:Cotura.Fody在JetBrains Rider EAP中不起作用分享
11
吐血整理 10道精选 BAT 海量数据面试题,看完不虚了
12
python同时输入多个字符串_Python之输入两个字符串,输出字符串并集
13
调用内置相机照片,部分手机图片旋转的解决方案
14
mybatis随笔五之Executor
15
Guava Cache MapMaker.makeComputingMap测试
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有