import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.net.URI;
/**
* 读取邮件模板
*
* @author wangzi6hao
*
*/
public class ReadTemplate {
/**
* 读取邮件模板
*
* @param path
* 模板网址路径
* @return
*/
public String readTemplate(String path) {
String template = null;
try {
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer sb = new StringBuffer();
BufferedReader in = new BufferedReader(isr);
while ((template = in.readLine()) != null) {
sb.append(template);
}
template = sb.toString();
} catch (Exception e) {
System.out.println("读取邮件模版文件出错!");
e.printStackTrace();
}
return template;
}
public static void main(String[] args) throws ClassNotFoundException {
ReadTemplate rt = new ReadTemplate();
Class theClass = ReadTemplate.class;
String path = theClass.getResource("/").toString();
path = path.substring(0, path.indexOf("WEB-INF"));
path = path + "emailTemplet/getUserPwd/index.html";
System.out.println(path);
System.out.println(rt.readTemplate(path));
}
}
import java.util.Date;
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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 com.sun.mail.smtp.SMTPTransport;
/**
* 邮件发送类
*
* @author wangzi6hao
*
*/
public class SendMail {
// 以下为设置默认邮件内容
private String smtp = "XXX.XXX.com";// 发送服务器
private String sendEmail = "XXX@XXX.com";// 发送邮件邮箱
private String sendEmailPw = "XXX";//
private String toEmail = "XXX@XXX.com";
private String mailTitle = "XXXX密码找回(请勿回复此邮件)";
private String mailContent = "没有定义邮件内容!";// 邮件内容
private String contentType = "text/html;charset=gb2312";
public boolean sendmail() {
boolean isSend = false;
try {
Session sendMailSession = null;
SMTPTransport transport = null;
Properties props = new Properties();
// 与服务器建立Session的参数设置
props.put("mail.smtp.host", smtp); // SMTP服务器。
props.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证。
SMTPAuthenticator auth = new SMTPAuthenticator(sendEmail,
sendEmailPw); // ,用户名,密码。
sendMailSession = Session.getInstance(props, auth); // 建立连接。
// SMTPTransport用来发送邮件。
transport = (SMTPTransport) sendMailSession.getTransport("smtp");
transport.connect();
// 创建邮件。
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(sendEmail));
newMessage.setRecipient(Message.RecipientType.TO,
new InternetAddress(toEmail));// 设置发送目标邮件
newMessage.setSubject(mailTitle);// 设置
newMessage.setSentDate(new Date());
// 使用MimeMultipart和MimeBodyPart才能发HTML格式邮件。
BodyPart bodyPart = new MimeBodyPart();
bodyPart.setContent(mailContent, contentType); // 发一个HTML格式的
Multipart mp = new MimeMultipart();
mp.addBodyPart(bodyPart);
newMessage.setContent(mp);
Transport.send(newMessage);
isSend = true;
} catch (MessagingException e) {
System.out.println("error" + e.getMessage());
}
return isSend;
}
public void setSmtp(String smtp) {
this.smtp = smtp;
}
public void setSendEmail(String sendEmail) {
this.sendEmail = sendEmail;
}
public void setSendEmailPw(String sendEmailPw) {
this.sendEmailPw = sendEmailPw;
}
public void setToEmail(String toEmail) {
this.toEmail = toEmail;
}
public void setMailTitle(String mailTitle) {
this.mailTitle = mailTitle;
}
public void setMailContent(String mailContent) {
this.mailContent = mailContent;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public static void main(String[] args) {
ReadTemplate rt = new ReadTemplate();
Class theClass = ReadTemplate.class;
String path = theClass.getResource("/").toString();
path = path.substring(0, path.indexOf("WEB-INF"));
path = path + "emailTemplet/getUserPwd/index.html";
String emailContent = rt.readTemplate(path);
System.out.println(emailContent);
System.out.println("发送完成");
}
}
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class SMTPAuthenticator extends Authenticator {
private String user;
private String password;
public SMTPAuthenticator(String s, String s1) {
user = s;
password = s1;
}
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
}
请到java.sun.com/products/javamail/
下载javamail.我的版本是javamail-1.4.1
使用mail.jar 就可以了
分享到:
相关推荐
4. **发送HTML邮件** - 如果邮件内容是HTML,需要创建一个`Multipart`对象,并添加一个`MimeBodyPart`来容纳HTML内容。 - 示例代码: ```java Multipart mp = new MimeMultipart("alternative"); MimeBodyPart ...
发送HTML邮件的基本步骤如下: 1. 创建Properties对象,设置SMTP服务器的相关属性: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port...
8. **使用JavaMail发送HTML邮件**:通过设置`MimeMessage`的`setContent()`方法,可以发送包含HTML的邮件。 ```java message.setContent("<h1>HTML邮件标题</h1><p>这是HTML邮件正文。</p>", "text/html;charset=...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
10. **使用JavaMail发送HTML邮件** 如果邮件需要包含HTML格式,可以使用`MimeMessage`的`setContent`方法传入`MimeMultipart`对象,其中包含一个`MimeBodyPart`来设置HTML内容。 11. **高级特性** JavaMail还支持...
在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 博客链接中提到的ITEYE博客...
要使用JavaMail发送HTML邮件,你需要以下步骤: 1. 添加JavaMail依赖:首先,在你的项目中引入JavaMail相关的依赖库,例如Maven或Gradle的配置文件中添加相应的依赖。 2. 创建Session对象:这是JavaMail的核心,...
JavaMail API 支持发送HTML邮件,通过`MimeMessage`类的`setText()`方法可以设置HTML正文,其中可以使用`<img>`标签引用图片。 5. **图片作为附件**: 图片可以作为邮件的附件发送,这通常通过`MimeBodyPart`类...
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...
htmlPart.setContent("这是HTML邮件内容</h1>", "text/html"); Multipart multipart = new MimeMultipart("alternative"); multipart.addBodyPart(htmlPart); message.setContent(multipart); ``` 最后,使用`...
下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...
这个例子展示了如何使用JavaMail API的基本功能,包括SMTP认证、添加附件和发送HTML邮件,这对于开发Web应用或其他需要邮件功能的应用来说非常实用。通过扩展这个例子,你可以实现更复杂的邮件服务,如接收邮件、...
JavaMail还支持更复杂的功能,如HTML邮件、多部分邮件、使用IMAP/POP3接收邮件等。开发者可以根据具体需求选择相应的API来实现。通过阅读JavaMail的官方文档和参考示例代码,可以进一步了解和掌握这个强大的工具。
JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...
这就是使用JavaMail发送邮件的基本步骤。如果提供的压缩文件"sendEmailDemo"包含示例代码,你可以根据实际情况进行调整和测试。记得在实际环境中,为了安全起见,不建议在代码中硬编码邮箱密码,而应该使用安全的...
JavaMail还支持发送HTML邮件、添加附件、使用SSL/TLS加密连接等高级特性。例如,发送HTML邮件可以使用`MimeBodyPart`和`MimeMultipart`: ```java MimeBodyPart htmlPart = new MimeBodyPart(); htmlPart....
不过,需要注意的是,使用JavaMail发送邮件时,必须确保你的SMTP服务器允许第三方应用程序进行授权,并且可能需要开启“不够安全的应用”的权限(对于Gmail而言)。 在提供的压缩包文件`Mail`中,可能包含了一些...
JavaMail是一种在Java环境下发送和接收电子邮件的API,它提供了丰富的功能,包括支持HTML格式的邮件内容以及附件的发送。这个API是基于SMTP(简单邮件传输协议)和POP3(邮局协议)等标准的互联网协议,使得开发者...
在本篇文章中,我们将深入探讨如何使用JavaMail发送简单的邮件。 首先,你需要在项目中引入JavaMail的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.sun.mail</groupId> ...