`
刘顺顺
  • 浏览: 892 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

javamail实例

阅读更多

//发送一个简单的邮件
Properties props=new Properties();
props.put("mail.smtp.host", "smtp.163.com");//发送邮件的服务器地址
props.put("mail.smtp.auth", "true");//必须填写用于用户(发件人)验证
//邮件发送和接收都必须用到此对象
Session session=Session.getDefaultInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("1989ti.anyi@163.com","123456");
}
});
//设置debug模式可以再控制台输出日志
session.setDebug(true);
//邮件对象通常都为MimeMessage类型
MimeMessage message=new MimeMessage(session);
//设置主题
message.setSubject("邮件主题");
message.setText("邮件内容");//message.setContent("邮件内容","text/plain;charset=utf-8");
//设置发件人地址必须和session构造方法中的第二个参数中的用户名一致
message.setFrom(new InternetAddress("1989ti.anyi@163.com"));
//设置回复人如果收件人手动回复时自动显示要回复的邮件列表
message.setReplyTo(new Address[]{new InternetAddress("tianyi_2514@126.com")});
//设置接收人(接收人,抄送人,密送人)
message.addRecipient(RecipientType.TO, new InternetAddress("tianyi_2514@126.com"));
message.addRecipient(RecipientType.CC,new InternetAddress("eapron@163.com"));
message.addRecipient(RecipientType.BCC,new InternetAddress("1191577401@qq.com"));
//实例化传输对象好处是发送多封邮件时效率高
Transport transport=session.getTransport("smtp");
transport.send(message);//Transport.send(message);
transport.close();




//发送一封html格式的邮件
Properties props=new Properties();
props.put("mail.smtp.host","smtp.163.com");
props.put("mail.smtp.auth", "true");
Session session=Session.getDefaultInstance(props,new Authenticator() {

@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("1989ti.anyi@163.com","123456");
}
});
MimeMessage message=new MimeMessage(session);
message.setSubject("邮件注册");
StringBuffer content=new StringBuffer();
content.append("<img src='http://www.baidu.com/img/baidu_sylogo1.gif' alt=百度''/>");
content.append("<a href='http://www.baidu.com' target='_blank'>点击</a>");
message.setContent(content.toString(),"text/html;charset=utf-8");
message.setFrom(new InternetAddress("1989ti.anyi@163.com"));
message.setRecipient(RecipientType.TO, new InternetAddress("eapron@163.com"));
Transport.send(message);




//发送一份自动回复的邮件
Properties props=new Properties();
props.put("mail.smtp.host","smtp.163.com");
props.put("mail.smtp.auth","true");
Session session=Session.getDefaultInstance(props,new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("1989ti.anyi@163.com","123456");
}
});
session.setDebug(true);
MimeMessage message=new MimeMessage(session);
//设置头信息才,第二个参数为需要回执的地址
message.setHeader("Disposition-Notification-To", "1989ti.anyi@163.com");
message.setSubject("邮件主题");
Multipart multipart=new MimeMultipart();
BodyPart htmlPart=new MimeBodyPart();
htmlPart.setContent("邮件html<a href='http://www.baidu.com' target='_blank'>点击</a>","text/html;charset=utf-8");
multipart.addBodyPart(htmlPart);
message.setContent(multipart);
message.setFrom(new InternetAddress("1989ti.anyi@163.com"));
message.setRecipient(RecipientType.TO,new InternetAddress("eapron@163.com"));
Transport.send(message);


//发送一封带附件的邮件
Properties props=new Properties();
props.put("mail.smtp.host","smtp.163.com");
props.put("mail.smtp.auth","true");
Session session=Session.getDefaultInstance(props,new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("1989ti.anyi@163.com","123456");
}
});
MimeMessage message=new MimeMessage(session);
message.setSubject("邮件主题");
message.setFrom(new InternetAddress("1989ti.anyi@163.com"));
message.setRecipient(RecipientType.TO,new InternetAddress("eapron@163.com"));
Multipart multipart=new MimeMultipart();
BodyPart dataPart=new MimeBodyPart();
dataPart.setDataHandler(new DataHandler(new FileDataSource("d:/man.jpg")));
dataPart.setFileName("man.jpg");//必须设定不然不会再收件人信箱中找到附件
BodyPart contentPart=new MimeBodyPart();
contentPart.setContent("邮件内容","text/plain;charset=utf-8");
multipart.addBodyPart(contentPart);
multipart.addBodyPart(dataPart);
message.setContent(multipart);
Transport.send(message);


//发送一封带文本附件并且附件名为中文,内容为中文邮件
Properties props=new Properties();
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.auth", "true");
Session session=Session.getDefaultInstance(props,new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("1989ti.anyi@163.com","123456");
}
});
MimeMessage message=new MimeMessage(session);
message.setSubject("邮件主题");
message.setRecipient(RecipientType.TO,new InternetAddress("eapron@163.com"));
message.setFrom(new InternetAddress("1989ti.anyi@163.com"));
message.setRecipient(RecipientType.TO,new InternetAddress("eapron@163.com"));
Multipart multipart=new MimeMultipart();
BodyPart dataPart=new MimeBodyPart();
dataPart.setDataHandler(new DataHandler(new FileDataSource("d:/new.docx")));
dataPart.setFileName(MimeUtility.encodeText("附件名字.txt","utf-8",null));
BodyPart contentPart=new MimeBodyPart();
contentPart.setContent("邮件内容","text/plain;charset=utf-8");
multipart.addBodyPart(contentPart);
multipart.addBodyPart(dataPart);
message.setContent(multipart);
Transport.send(message);




//接收邮件的一般步骤
Properties props=new Properties();
props.put("mail.smtp.host","smtp.163.com");
props.put("mail.pop3.host", "pop3.163.com");//必须写
props.put("mail.smtp.auth","true");
Session session=Session.getDefaultInstance(props,new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("1989ti.anyi@163.com","123456");
}
});
Store store=session.getStore("pop3");
store.connect();//必须连接
Folder folder=store.getFolder("INBOX");//pop3只有一个目录,imap可以有多个
folder.open(Folder.READ_ONLY);
Message[] messageArr=folder.getMessages();
for (int i = 0; i < messageArr.length; i++) {
System.out.println("-----------");
System.out.println("第 "+(i+1)+"封 subject:"+messageArr[i].getSubject());
System.out.println("第 "+(i+1)+"封 from:"+((InternetAddress)messageArr[i].getFrom()[0]).getAddress());
StringBuffer content=new StringBuffer();
Part part=(Part)messageArr[i];
if(part.isMimeType("text/plain")){
content.append(messageArr[i].getContent());
}else if(part.isMimeType("multipart/*")){
Multipart multipart=(Multipart)messageArr[i].getContent();
for (int j = 0; j < multipart.getCount(); j++) {
content.append(multipart.getBodyPart(j).getContent());
}
}
System.out.println("第 "+(i+1)+"封 content:"+content.toString());
System.out.println();
}
folder.close(false);
store.close();

分享到:
评论

相关推荐

    JavaMail实例

    javaMail实例 提供给大家学习 最简单的入门程序

    javamail实例大全2

    这个“javamail实例大全2”可能包含了各种示例代码,帮助开发者更好地理解和使用JavaMail API。以下是一些核心的JavaMail知识点,以及如何使用它们: 1. **JavaMail API**: JavaMail API 提供了发送和接收邮件的...

    javamail实例可直接跑的源码

    在提供的 `javamail实例2` 文件中,你可以找到具体的代码实现,包括上述步骤的细节。这个实例是一个很好的起点,可以帮助开发者快速理解如何在 Java 应用中集成邮件发送功能。通过阅读和理解代码,你可以学习到如何...

    javaMail实例

    这个实例,"javaMail 实例",提供了完整的代码示例,旨在帮助新手开发者快速掌握如何在 Java 应用程序中使用 JavaMail API。下面我们将深入探讨 JavaMail 的核心概念、主要组件以及如何使用提供的 DEMO 进行实际应用...

    JAVAMAIL实例

    ### JAVAMAIL实例知识点详解 #### 一、概述 JavaMail API是Java平台中用于发送和接收电子邮件的标准API,广泛应用于各种Java应用程序中。本文将详细介绍如何利用JavaMail发送带有SMTP认证、附件以及HTML格式内容的...

    JAVAMAIL 实例 + JAVAMAIL支持包 完整可运行实例

    这个实例包含了JavaMail的使用以及相关的支持包,确保了你可以直接在项目中运行和测试邮件功能。将JAR包放入WEB-INF的LIB目录是Java Web应用的标准做法,这样可以让应用服务器在运行时找到这些依赖。 JavaMail API ...

    javamail发送邮件实例

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者能够轻松地处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件服务。在...

    JavaMail使用实例

    这个实例包含了使用JavaMail进行邮件操作所需的全部资源,包括配置和服务的设置,以及具体的代码示例。 首先,JavaMail的核心库是`javax.mail`和`com.sun.mail`,它们提供了邮件协议(如SMTP、POP3、IMAP)的实现。...

    javamail 实例

    这个实例主要讲解如何使用 JavaMail API 实现邮件功能,结合源码和工具来深入理解其工作原理。 首先,我们需要引入 JavaMail 相关的库,这里提到了两个文件:`mail-1.4.jar` 和 `mail.jar`,它们都是 JavaMail API ...

    Spring javaMail发送文本邮件实例

    导入到Myeclipse 即可运行 测试使用的是QQ邮箱 在application.xml中配置的发送邮箱 要到邮箱中设置 POP3/SMTP服务为开。项目不部署到tomcat后启动服务,然后运行test.java 就发送了,。绝对可以发送

    javamail邮件实例

    在JavaMail实例中,我们可以学习如何使用这些功能来实现邮件的发送。 一、JavaMail的基本概念 1. Session:JavaMail的核心组件,代表与邮件服务器的会话。程序员需要配置SMTP服务器信息(如主机地址、端口、用户名...

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

    这个JavaMail实例提供了发送简单文本邮件的基础。通过扩展,你可以实现更复杂的功能,如发送HTML邮件、添加多个收件人、抄送人和密送人,以及发送带有附件的邮件。了解这些基本概念后,你可以根据需要调整代码以满足...

Global site tag (gtag.js) - Google Analytics