在日常开发中发送邮件是很正常的,现贴出发送邮件代码
1.实例类,只贴出所拥有的属性,持久化数据库的配置不再列出
public class Mail{
/**
* @description 属性说明
*/
private static final long serialVersionUID = 1797738641950018355L;
/**
* 主键
*/
private String mailId;
/**
* SMTP服务器
*/
private String smtpSer;
/**
* 邮件接收端口
*/
private int mailPort;
/**
* 验证用户名
*/
private String username;
/**
* 验证密码
*/
private String password;
/**
* 是否验证
*/
private int isVal;
/**
* 发件人信箱
*/
private String sendBox;
/**
* 默认主题
*/
private String deTheme;
/**
* 默认接收者
*/
private String deReceiver;
}
2.发送邮件
public boolean sendEmail(String[] to,String[] cc,Mail mail , String subject, String content,
String[] attachements) {
MimeMessage mimeMsg;// MIME邮件对象
MimeMultipart mp;// Multipart对象,邮件内容,标题,附件等内容均添加到其中之后再生成//MimeMessage对象
Session session;// 邮件会话对象
Properties props = new Properties();// 系统属性
try {
props.put("mail.smtp.host", mail.getSmtpSer());// 设置SMTP主机
props.put("mail.smtp.port", mail.getMailPort());
MyAuthenticator authenticator = null;
if (mail.getIsVal() == 1) {
props.put("mail.smtp.auth", "true");
authenticator = new MyAuthenticator(mail.getUsername(),mail.getPassword());
} else {
props.put("mail.smtp.auth", "false");
System.out.println("发送邮件出错,必须验证stmp!");
return false;
}
session = Session.getDefaultInstance(props, authenticator);// 获得邮件会话对象
mimeMsg = new MimeMessage(session);
mp = new MimeMultipart();
mimeMsg.setFrom(new InternetAddress(mail.getSendBox()));// 设置发信人
// 设置收信人
Address toaddress[] = new Address[to.length];
for(int i=0;i<to.length;i++){
toaddress[i]=InternetAddress.parse(to[i].toString())[0];
}
mimeMsg.setRecipients(Message.RecipientType.TO, toaddress);
// 设置抄送人
Address ccaddress[] = new Address[cc.length];
for(int i=0;i<cc.length;i++){
ccaddress[i]=InternetAddress.parse(cc[i].toString())[0];
}
mimeMsg.setRecipients(Message.RecipientType.CC, ccaddress);
// 设置邮件体格式
mimeMsg.setSubject(mail.getDeTheme(), "GB2312");
BodyPart bp = new MimeBodyPart();
bp.setContent(
"<meta http-equiv=Content-Type content=text/html; charset=GB2312>"
+ content, "text/html;charset=GB2312");
mp.addBodyPart(bp);
// 添加附件,超过10M不可以发送。
if (attachements != null && attachements.length > 0) {
for (int i = 0; i < attachements.length; i++) {
if((new File(attachements[i])).exists()){
FileInputStream fis = new FileInputStream(new File(attachements[i]));
if((double)fis.available()/1048576 <10.0){
MimeBodyPart mbp = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(attachements[i]);
DataHandler dh = new DataHandler(fileds);
mbp.setDisposition(Part.ATTACHMENT);
mbp.setFileName(fileds.getName());
mbp.setDataHandler(dh);
mp.addBodyPart(mbp);
}
}
}
}
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
// 正式发送邮件
Session mailSession = Session.getInstance(props, null);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String) props.get("mail.smtp.host"),
mail.getUsername(), mail.getPassword());
transport.sendMessage(mimeMsg, mimeMsg.getAllRecipients());
transport.close();
System.out.println("Mail Successfully Sended!");
return true;
} catch (Exception e) {
logger.debug("发送邮件出错,详见类:UniresponseApiImpl。错误信息为:"
+ e.getMessage());
return false;
}
}
分享到:
相关推荐
Java发送电子邮件是一个常见的任务,尤其在自动化通知、报表发送或者用户验证等场景中。下面将详细解释如何使用Java来发送邮件,并提供相关的知识点。 首先,Java通过JavaMail API提供了发送邮件的功能。JavaMail ...
java发送邮件工具类,用于java程序实现邮件的发送功能
总之,Java发送Outlook邮件主要涉及JavaMail API的使用,包括配置SMTP服务器、创建邮件对象、设置邮件属性、添加附件和发送邮件。对于Notes邮件,可能需要使用IBM Domino Java API。理解这些概念和技术是Java开发者...
总结来说,Java发送邮件涉及以下关键知识点: 1. JavaMail API的使用,包括`javax.mail`和`javax.mail.internet`包。 2. 配置SMTP服务器的参数,如主机名、端口、安全协议等。 3. 使用`Session`进行会话初始化和...
Java发送邮件是一个常见的任务,尤其在自动化通知、订阅服务或者数据传输中。在这个"java发送邮件完整程序"中,我们将会探讨如何使用Java语言来构建一个邮件发送功能,包括所需的库、步骤以及关键代码片段。 首先,...
Java发送邮件是软件开发中常见的需求,特别是在自动化通知、用户验证和客户服务等方面。在这个主题下,我们将探讨三种Java实现邮件发送的方式,以及如何通过提供的代码和参考资料进行实践。 首先,让我们了解一下...
java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个java发送邮件jar包2个...
下面是一个简单的Java发送邮件的示例代码: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp....
Java发送邮件是软件开发中常见的需求,特别是在自动化通知、服务端消息传递等方面。Java Mail API 是Java平台用于处理邮件收发的核心库。本教程将详细讲解如何使用Java实现发送邮件,包括发送图片和附件。 首先,你...
JavaMail是Java平台上的一个开源库,它提供了邮件发送和接收的功能。在JavaMail中,`javax.mail`和`javax.mail.internet`包是核心部分,包含了处理邮件的相关类和接口。 1. **配置JavaMail**: 在项目中,你需要配置...
本文将详细讲解如何使用Java发送邮件,并着重介绍消息格式化的概念及其重要性。 首先,发送邮件的核心类是JavaMail API提供的`javax.mail`包中的`Session`, `Message`, `Transport`等类。为了发送邮件,我们需要...
Java发送邮件功能是Java开发中常见的一项任务,它允许开发者通过编程的方式实现电子邮件的发送,包括正文内容、附件以及抄送等高级功能。在Java中,我们主要利用JavaMail API来实现这一目标。 JavaMail API是一个...
本篇文章将深入探讨如何使用Java编写程序来实现邮件的发送,包括发送纯文本邮件、带有附件的邮件、包含图片的邮件以及在邮件中显示图片。 首先,我们得知道JavaMail API是实现邮件发送功能的关键库。它提供了一系列...
Java SMTP 发送邮件是Java开发中常见的功能,用于在应用程序中实现邮件的自动化发送。SMTP(Simple Mail Transfer Protocol)是一种互联网标准,用于从一个邮件服务器向另一个邮件服务器发送电子邮件。以下将详细...
在Java开发中,发送邮件是一项常见的任务,尤其在企业级应用和服务中,它用于通知、确认订单、发送报告等。本篇文章将详细讲解如何利用Java实现邮件发送,并结合Apache的相关库来创建邮件发送模板,以提升效率和用户...
Java定时发送邮件是一个常见的任务,尤其在自动化通知、日志报告或者系统维护中十分有用。在Java中,我们可以使用JavaMail API和ScheduledExecutorService来实现这个功能。下面将详细介绍这两个关键组件以及如何结合...
Java邮件发送是一个常见的任务,尤其在自动化通知、订阅服务或者数据报告等场景中。本教程将详细介绍如何使用Java实现邮件发送功能,同时提供了一个Jar包和demo源码供参考。 首先,我们需要理解JavaMail API,这是...
JAVA邮件发送工具类(支持同步和异步发送邮件以及附件信息),支持多个抄送邮件发送。
Java发送邮件是软件开发中常见的需求,特别是在企业级应用中,用于发送通知、报表或验证用户的电子邮件地址。Spring框架提供了一种优雅的方式来处理这个任务,它整合了JavaMailSender接口和JavaMail API,使得在Java...
本教程将深入讲解如何利用Java实现邮件的发送,并包含身份验证的过程,这对于自动化任务、通知系统或者任何需要通过电子邮件进行通信的应用来说是至关重要的。 首先,我们来了解计算机网络中的Socket编程。Socket是...