- 浏览: 164849 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (327)
- JAVA (130)
- 工作笔记 (49)
- SQLSERVER (5)
- ORACLE (28)
- nginx (1)
- Unix C (16)
- 系统 (19)
- 网络技术 (17)
- WEB前端 (22)
- Eclipse (2)
- Tomcat (1)
- spring (7)
- MYSQL (12)
- Maven (6)
- JETTY (2)
- 设计 (2)
- 开源项目 (7)
- asterisk (0)
- C++ (2)
- WINDOWS (2)
- SCALA (0)
- 协议 (1)
- Netty (1)
- SHELL (1)
- mybaits (4)
- 并发 (2)
- 架构 (2)
- TCP/IP (8)
- 虚拟化 (3)
- 不要再说java慢 (0)
- mac (2)
- mysql乱码完美解决 (1)
最新评论
发送不带附件的邮件,欢迎大家提意见并扩展成带附件的.
第一部分
:
public class EmailAuthenticator
extends Authenticator {
private String username;
private String password;
public void check(String usr, String pswd) {
this.username = usr;
this.password = pswd;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
第二部分:
/**
*
* <p>Title: 263营帐管理系统</p>
* <p>Description:<b>邮件发送公用类\uFFFD/b>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: ZTEsoft</p>
* @author luo.yanqing
* @version 1.0
*/
public class MailSend {
private Log log = LogFactory.getLog(getClass());
private static Properties props = null;
/* session object */
private static Session mailsession = null;
/* mail object */
private static MimeMessage mess = null;
//实际会从配置文件读
private String sender = ReferenceConst.mailSender;
private String senderName = ReferenceConst.mailSenderName;
private String host = ReferenceConst.mailHost;
private String usr = ReferenceConst.mailUsr;
private String pwd = ReferenceConst.mailPwd;
/**
* 使用默认的发送者和服务器发送邮件
* @param info String
* @param subject String
* @param receiver String
*/
public StringBuffer sendEmail(String info, String subject, String receiver) {
//不需要验证
//sendEmail(host, info, subject, sender, receiver);
//需要验证
StringBuffer error = new StringBuffer();
error = sendEmail(host, usr, pwd, info, subject, sender, receiver);
return error;
}
/**
* @function 发送邮件的实现(邮件服务器不需要验证)
* @param server 邮件服务器IP地址
* @param info 邮件的内容
* @param subject 邮件的主题
* @param sender 邮件的发送者
* @param receiver 邮件的接收者
* @return null
*/
public StringBuffer sendEmail(String server, String info, String subject,
String sender, String receiver) {
if (log.isInfoEnabled()) {
log.info("MailSend.sentEmail(不需验证) start");
}
StringBuffer error = new StringBuffer();
props = new Properties();
props.put("mail.smtp.host", server);
mailsession = Session.getDefaultInstance(props, null);
try {
MimeMessage mailmess = new MimeMessage(mailsession);
mailmess.setSubject(subject, "GB2312");
mailmess.setContent(info, "text/plain;charset=GB2312");
InternetAddress from = new InternetAddress(sender, senderName, "GB2312");
mailmess.setFrom(from);
InternetAddress tod = new InternetAddress(receiver);
mailmess.setRecipient(Message.RecipientType.TO, tod);
Transport transport = mailsession.getTransport("smtp");
//System.out.println("begin connect");
transport.connect(server, "", "");
transport.send(mailmess);
transport.close();
}
catch (MessagingException me) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sentEmail(不需验证) threw Exception");
log.debug(me.getMessage());
}
error.append("mailsent.error");
}
catch (Exception ex) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sentEmail(不需验证) threw Exception");
log.debug(ex.getMessage());
}
error.append("mailsent.error");
}
if (log.isInfoEnabled()) {
log.info("MailSend.sentEmail(不需验证) end");
}
return error;
}
/**
* @function 发送邮件的实现(邮件服务器需要验证)
* @param server 邮件服务器IP地址
* @param usr 邮件服务器用户
* @param psd 邮件服务器密码
* @param info 邮件的内容
* @param subject 邮件的主题
* @param sender 邮件的发送者
* @param receiver 邮件的接收者
* @return null
*/
public StringBuffer sendEmail(String server, String usr, String psd,
String info,
String subject, String sender, String receiver) {
if (log.isInfoEnabled()) {
log.info("MailSend.sentEmail(需验证) start");
}
StringBuffer error = new StringBuffer();
props = new Properties();
props.put("mail.smtp.host", server);
props.put("mail.smtp.auth", "true");
EmailAuthenticator auth = new EmailAuthenticator();
auth.check(usr, psd);
mailsession = Session.getDefaultInstance(props, auth);
try {
MimeMessage mailmess = new MimeMessage(mailsession);
mailmess.setSubject(subject, "GB2312");
mailmess.setContent(info, "text/plain;charset=GB2312");
InternetAddress from = new InternetAddress(sender, senderName, "GB2312");
mailmess.setFrom(from);
InternetAddress tod = new InternetAddress(receiver);
mailmess.setRecipient(Message.RecipientType.TO, tod);
Transport transport = mailsession.getTransport("smtp");
//System.out.println("begin connect");
transport.connect(server, "", "");
transport.send(mailmess);
transport.close();
}
catch (MessagingException me) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sentEmail(需验证) threw Exception");
log.debug(me.getMessage());
}
error.append("mailsent.error");
}
catch (Exception ex) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sendEmail(需验证) threw Exception");
log.debug(ex.getMessage());
}
error.append("mailsent.error");
}
if (log.isInfoEnabled()) {
log.info("MailSend.sendEmail(需验证)end");
}
return error;
}
/**
* @function 验证邮件地址的有效性的实现
* @param strmail 邮件地址 如"ghist@yahoo.com.cn"
* @return boolean
* @roseuid 4157E1DD002E
*/
public boolean mailvaliade(String strmail) {
if (log.isInfoEnabled()) {
log.info(" MailSend.mailvaliade start");
}
Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}");
Matcher m = p.matcher(strmail);
boolean b = m.matches();
if (log.isInfoEnabled()) {
log.info("MailSend.mailvaliade end");
}
return b;
}
}
第一部分
:
public class EmailAuthenticator
extends Authenticator {
private String username;
private String password;
public void check(String usr, String pswd) {
this.username = usr;
this.password = pswd;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
第二部分:
/**
*
* <p>Title: 263营帐管理系统</p>
* <p>Description:<b>邮件发送公用类\uFFFD/b>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: ZTEsoft</p>
* @author luo.yanqing
* @version 1.0
*/
public class MailSend {
private Log log = LogFactory.getLog(getClass());
private static Properties props = null;
/* session object */
private static Session mailsession = null;
/* mail object */
private static MimeMessage mess = null;
//实际会从配置文件读
private String sender = ReferenceConst.mailSender;
private String senderName = ReferenceConst.mailSenderName;
private String host = ReferenceConst.mailHost;
private String usr = ReferenceConst.mailUsr;
private String pwd = ReferenceConst.mailPwd;
/**
* 使用默认的发送者和服务器发送邮件
* @param info String
* @param subject String
* @param receiver String
*/
public StringBuffer sendEmail(String info, String subject, String receiver) {
//不需要验证
//sendEmail(host, info, subject, sender, receiver);
//需要验证
StringBuffer error = new StringBuffer();
error = sendEmail(host, usr, pwd, info, subject, sender, receiver);
return error;
}
/**
* @function 发送邮件的实现(邮件服务器不需要验证)
* @param server 邮件服务器IP地址
* @param info 邮件的内容
* @param subject 邮件的主题
* @param sender 邮件的发送者
* @param receiver 邮件的接收者
* @return null
*/
public StringBuffer sendEmail(String server, String info, String subject,
String sender, String receiver) {
if (log.isInfoEnabled()) {
log.info("MailSend.sentEmail(不需验证) start");
}
StringBuffer error = new StringBuffer();
props = new Properties();
props.put("mail.smtp.host", server);
mailsession = Session.getDefaultInstance(props, null);
try {
MimeMessage mailmess = new MimeMessage(mailsession);
mailmess.setSubject(subject, "GB2312");
mailmess.setContent(info, "text/plain;charset=GB2312");
InternetAddress from = new InternetAddress(sender, senderName, "GB2312");
mailmess.setFrom(from);
InternetAddress tod = new InternetAddress(receiver);
mailmess.setRecipient(Message.RecipientType.TO, tod);
Transport transport = mailsession.getTransport("smtp");
//System.out.println("begin connect");
transport.connect(server, "", "");
transport.send(mailmess);
transport.close();
}
catch (MessagingException me) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sentEmail(不需验证) threw Exception");
log.debug(me.getMessage());
}
error.append("mailsent.error");
}
catch (Exception ex) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sentEmail(不需验证) threw Exception");
log.debug(ex.getMessage());
}
error.append("mailsent.error");
}
if (log.isInfoEnabled()) {
log.info("MailSend.sentEmail(不需验证) end");
}
return error;
}
/**
* @function 发送邮件的实现(邮件服务器需要验证)
* @param server 邮件服务器IP地址
* @param usr 邮件服务器用户
* @param psd 邮件服务器密码
* @param info 邮件的内容
* @param subject 邮件的主题
* @param sender 邮件的发送者
* @param receiver 邮件的接收者
* @return null
*/
public StringBuffer sendEmail(String server, String usr, String psd,
String info,
String subject, String sender, String receiver) {
if (log.isInfoEnabled()) {
log.info("MailSend.sentEmail(需验证) start");
}
StringBuffer error = new StringBuffer();
props = new Properties();
props.put("mail.smtp.host", server);
props.put("mail.smtp.auth", "true");
EmailAuthenticator auth = new EmailAuthenticator();
auth.check(usr, psd);
mailsession = Session.getDefaultInstance(props, auth);
try {
MimeMessage mailmess = new MimeMessage(mailsession);
mailmess.setSubject(subject, "GB2312");
mailmess.setContent(info, "text/plain;charset=GB2312");
InternetAddress from = new InternetAddress(sender, senderName, "GB2312");
mailmess.setFrom(from);
InternetAddress tod = new InternetAddress(receiver);
mailmess.setRecipient(Message.RecipientType.TO, tod);
Transport transport = mailsession.getTransport("smtp");
//System.out.println("begin connect");
transport.connect(server, "", "");
transport.send(mailmess);
transport.close();
}
catch (MessagingException me) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sentEmail(需验证) threw Exception");
log.debug(me.getMessage());
}
error.append("mailsent.error");
}
catch (Exception ex) {
if (log.isInfoEnabled()) {
log.debug("MailSend.sendEmail(需验证) threw Exception");
log.debug(ex.getMessage());
}
error.append("mailsent.error");
}
if (log.isInfoEnabled()) {
log.info("MailSend.sendEmail(需验证)end");
}
return error;
}
/**
* @function 验证邮件地址的有效性的实现
* @param strmail 邮件地址 如"ghist@yahoo.com.cn"
* @return boolean
* @roseuid 4157E1DD002E
*/
public boolean mailvaliade(String strmail) {
if (log.isInfoEnabled()) {
log.info(" MailSend.mailvaliade start");
}
Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}");
Matcher m = p.matcher(strmail);
boolean b = m.matches();
if (log.isInfoEnabled()) {
log.info("MailSend.mailvaliade end");
}
return b;
}
}
发表评论
文章已被作者锁定,不允许评论。
-
编译安装redis
2016-03-13 17:03 386tar xzf redis-3.07.tar.gz mv r ... -
zookeeper
2016-03-10 16:43 410ZooKeeper服务命令: ... -
数据库自动备份
2015-09-09 15:52 471#!/bin/bash currTime=$(date &qu ... -
chkconfig
2015-09-09 14:48 339Linux下chkconfig命令详解 ... -
centos 查看内存
2015-08-08 14:40 637http://elf8848.iteye.com/blog/1 ... -
nginx+tomcat
2015-08-01 17:12 0一、安装Tomcat和JDK 1、上传apache-tomc ... -
linux 查看系统信息
2015-08-01 17:03 0# uname -a # 查看内核/操作系统/CPU信息 ... -
常用部署命令
2015-08-01 17:00 0#gcc -v --查看版本信息 #find -name fe ... -
linux系统调整时区和时间
2015-08-01 16:55 0查看/修改Linux时区和时间 一、时区 1. 查 ... -
Linux中cp和scp命令的使用方法
2015-08-01 16:54 0Linux中cp和scp命令的使用方法 Linux为我们提 ... -
Linux 系统挂载数据盘
2015-08-01 16:49 0Linux 系统挂载数据盘 转自 http://www.23 ... -
linux 查看端口
2015-08-01 16:47 0linux端口查看命令 Linux ... -
释放内存
2015-08-01 16:45 0细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存 ... -
Linux 服务器限制IP访问
2015-08-01 16:43 749转自:http://blog.163.com/yuzhongf ... -
linux系统下免费防DDOS CC攻击脚本,有效减轻服务器压力 【转】
2015-08-01 16:37 1734网站DDOS是最头疼的事。即使是国内高防的服务器,也不能100 ... -
linux查看磁盘空间
2015-08-01 16:25 459linux下空间满可能有两种情况 可以通过命令 df -h ... -
NIO的陷阱
2015-06-25 22:28 331// Create a ... -
memcache
2015-06-06 09:38 398http://maoyidao.iteye.com/blog/ ... -
100W并发连接测试(转)
2015-04-26 22:02 855100W并发连接 http://www.blogjava.n ... -
firebug 时间线
2015-04-06 08:50 0http://www.softwareishard.com/b ...
相关推荐
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
使用 JavaMail 代发邮件 使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件...
这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...
例如,你可以使用`<mail>`任务来设置发件人、收件人、主题、正文等信息,并直接在Ant脚本中发送邮件。这在自动化测试、部署通知、错误报告等方面非常实用。同时,ant.license.txt文件则包含了Ant-Javamail库的许可...
JavaMail使得开发者能够轻松地在Java应用程序中集成邮件功能,如发送HTML邮件、处理附件、使用SMTP、POP3和IMAP协议等。 "ant-javamail-1.6.4.jar"是Ant与JavaMail整合的一个组件,它是Ant的一个扩展,为Ant任务...
javamail邮件开发.rar中包含apache-james-3.0-beta4-app服务器程序包和用于解决jdk7以上jar包冲突的jar包jaxb-impl-2.1.3.jar。开源工具commons-email-1.4.jar(这个其实也没什么用,因为使用maven添加依赖会自动...
通过理解Ant和JavaMail的基本概念,以及它们如何在"ant-javamail.jar.zip"中结合使用,开发者可以更高效地实现自动化邮件功能,提升项目管理效率。对于任何Java项目,特别是那些需要进行邮件通信的项目,掌握这些...
JavaMail是一个广泛使用的开源库,用于在Java应用程序中处理电子邮件通信。这个压缩包"javamail.jar.zip"包含了几个关键的组件,可以帮助开发者实现在Java环境中发送和接收邮件的功能。让我们详细了解一下这些组件...
例如,可以创建一个Ant任务来配置邮件服务器信息,设置发件人、收件人、主题和正文,并发送带有附件的邮件。 `ant.license.txt`文件则是Apache Ant的许可协议,它详细规定了使用Ant和其相关组件的法律条款。通常,...
《Ant-JavaMail 1.6.2:构建与邮件通信的高效工具》 在Java开发领域,Apache Ant和JavaMail是两个不可或缺的组件。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,类似于Perl语言的Make工具,主要...
在本文中,我们将深入探讨如何使用SSM框架(Spring4.0+SpringMVC+Mybatis)集成Javamail来实现邮件发送功能。首先,我们需要理解SMTP协议和SSL加密在电子邮件传输中的作用。 SMTP(Simple Mail Transfer Protocol)...
总结来说,`ant-javamail-1.6.3.jar.zip`是一个包含Apache Ant邮件任务支持的库,通过JavaMail实现邮件发送功能。开发者可以利用这个库轻松地在构建流程中集成邮件通信,提高工作效率。同时,理解和使用`ant-...
\n\n要使用JavaMail发送邮件,首先需要在项目中引入JavaMail的依赖库。可以通过Maven或Gradle等构建工具添加对应的jar包。在本例中,可以从CSDN等资源网站下载并添加到项目的类路径下。\n\n为了启用SMTP服务,需要在...
1. **SMTP(Simple Mail Transfer Protocol)支持**:JavaMail 使用SMTP协议来发送邮件,这是互联网上最常用的邮件传输协议。 2. **POP3(Post Office Protocol version 3)和IMAP4(Internet Message Access ...
在这个资源中,我们将探讨如何使用 JavaMail 实现邮件的发送、接收、查看邮件数量以及未读邮件的标记为已读。 首先,让我们从发送邮件开始。在 JavaMail 中,你需要创建一个 `Session` 对象来配置邮件服务器的连接...
《Ant-JavaMail 1.6.5:构建与邮件通信的高效工具》 在Java开发领域,Apache Ant和JavaMail是两个不可或缺的组件。"ant-javamail-1.6.5.jar.zip"是一个包含这两部分的压缩包,为开发者提供了便捷的构建和邮件通信...
在JSP(JavaServer Pages)环境中,JavaMail同样可以使用,但需要考虑在服务器端执行邮件发送操作,因为JSP主要用于生成动态网页内容,而邮件发送是服务器端的任务。 总结来说,JavaMail结合`mail.jar`库提供了一种...
JavaMail 是一个强大的开源库,用于在Java应用程序中处理电子邮件。它支持多种协议,包括POP3、IMAP和SMTP,这些协议分别用于接收、检索和发送邮件。在使用JavaMail时,了解如何进行加密和非加密通信对于确保数据...
这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...
5. **事件驱动模型**:JavaMail 使用JavaBeans Activation Framework (JAF) 实现事件驱动模型,可以监听邮件状态的变化,例如新邮件到达、邮件已读等。 6. **国际化**:JavaMail 支持多种语言,便于创建多语言的...