`
wangzi6hao
  • 浏览: 211857 次
  • 性别: Icon_minigender_1
  • 来自: sdf
社区版块
存档分类
最新评论

javamail发送html邮件

    博客分类:
  • Java
阅读更多
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 就可以了

分享到:
评论

相关推荐

    JavaMail发送邮件(文本、html、附件)

    4. **发送HTML邮件** - 如果邮件内容是HTML,需要创建一个`Multipart`对象,并添加一个`MimeBodyPart`来容纳HTML内容。 - 示例代码: ```java Multipart mp = new MimeMultipart("alternative"); MimeBodyPart ...

    javamail发送html邮件.doc.zip

    发送HTML邮件的基本步骤如下: 1. 创建Properties对象,设置SMTP服务器的相关属性: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port...

    利用JavaMail发送邮件的实例,可以直接运行

    8. **使用JavaMail发送HTML邮件**:通过设置`MimeMessage`的`setContent()`方法,可以发送包含HTML的邮件。 ```java message.setContent("<h1>HTML邮件标题</h1><p>这是HTML邮件正文。</p>", "text/html;charset=...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    java使用javaMail发送邮件

    10. **使用JavaMail发送HTML邮件** 如果邮件需要包含HTML格式,可以使用`MimeMessage`的`setContent`方法传入`MimeMultipart`对象,其中包含一个`MimeBodyPart`来设置HTML内容。 11. **高级特性** JavaMail还支持...

    用javaMail发送邮件

    在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 博客链接中提到的ITEYE博客...

    JavaMail应用实例说明:简单(HTML)邮件的发送 javaMail基础教程下载

    要使用JavaMail发送HTML邮件,你需要以下步骤: 1. 添加JavaMail依赖:首先,在你的项目中引入JavaMail相关的依赖库,例如Maven或Gradle的配置文件中添加相应的依赖。 2. 创建Session对象:这是JavaMail的核心,...

    javamail发送邮件.zip

    JavaMail API 支持发送HTML邮件,通过`MimeMessage`类的`setText()`方法可以设置HTML正文,其中可以使用`<img>`标签引用图片。 5. **图片作为附件**: 图片可以作为邮件的附件发送,这通常通过`MimeBodyPart`类...

    javaMail实现发送邮件的demo

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...

    javamail发送邮件实例

    htmlPart.setContent("这是HTML邮件内容</h1>", "text/html"); Multipart multipart = new MimeMultipart("alternative"); multipart.addBodyPart(htmlPart); message.setContent(multipart); ``` 最后,使用`...

    javamail实现邮箱与邮箱发送邮件

    下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...

    用Java类实现JavaMail发送邮件的例子

    这个例子展示了如何使用JavaMail API的基本功能,包括SMTP认证、添加附件和发送HTML邮件,这对于开发Web应用或其他需要邮件功能的应用来说非常实用。通过扩展这个例子,你可以实现更复杂的邮件服务,如接收邮件、...

    使用javaMail发送邮件

    JavaMail还支持更复杂的功能,如HTML邮件、多部分邮件、使用IMAP/POP3接收邮件等。开发者可以根据具体需求选择相应的API来实现。通过阅读JavaMail的官方文档和参考示例代码,可以进一步了解和掌握这个强大的工具。

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...

    JavaMail 发送邮件

    这就是使用JavaMail发送邮件的基本步骤。如果提供的压缩文件"sendEmailDemo"包含示例代码,你可以根据实际情况进行调整和测试。记得在实际环境中,为了安全起见,不建议在代码中硬编码邮箱密码,而应该使用安全的...

    基于JavaMail的Java邮件发送-附源码

    JavaMail还支持发送HTML邮件、添加附件、使用SSL/TLS加密连接等高级特性。例如,发送HTML邮件可以使用`MimeBodyPart`和`MimeMultipart`: ```java MimeBodyPart htmlPart = new MimeBodyPart(); htmlPart....

    使用JavaMail实现发送邮件

    不过,需要注意的是,使用JavaMail发送邮件时,必须确保你的SMTP服务器允许第三方应用程序进行授权,并且可能需要开启“不够安全的应用”的权限(对于Gmail而言)。 在提供的压缩包文件`Mail`中,可能包含了一些...

    JavaMail发送电子邮件源代码

    JavaMail是一种在Java环境下发送和接收电子邮件的API,它提供了丰富的功能,包括支持HTML格式的邮件内容以及附件的发送。这个API是基于SMTP(简单邮件传输协议)和POP3(邮局协议)等标准的互联网协议,使得开发者...

    JavaMail 发送简单邮件

    在本篇文章中,我们将深入探讨如何使用JavaMail发送简单的邮件。 首先,你需要在项目中引入JavaMail的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.sun.mail</groupId> ...

Global site tag (gtag.js) - Google Analytics