- 浏览: 321609 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
dsjt:
oracle(UTF-8) 某列类型是varchar2(400 ...
varchar2和nvarchar2和char最大长度 -
grofis:
你他妈真是个大傻逼啊。。。。这个东西写出来之后你也不看了吧
unable to bind to property on class (class is not an IEventDispatcher) -
continentlu:
this.getHibernateTemplate().exe ...
Cannot get a connection, pool error Timeout waiting for idle object -
a8928959:
我按照你的这样配置的,也是这个错误,请问有什么解决方法吗
fckeditor绝对路径的配置以及源文件的修改 -
红叶2012:
好
htmlparser
java Mail发送邮件带附件 <1>
所需JAR包如下:mail.jar与activation.jar
下面是发送和接收的一个DEMO
注意,在使用发送的时候会报javax.mail.AuthenticationFailedException异常
解决方法,JAR包冲突,删掉项目中java ee 5包
或者去IDE的目录找到JAVA ee5删除mail文件夹,如我用的是5.1
D:\Program Files\MyEclipse 5.5.1 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5
用压缩包打开javaee.jar 删除 mail和activation即可解决jar冲突
package snowrain.javaMail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Address; import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; 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; /** * * * @author yaor * @version 1.0 * @created 2010-7-16 下午04:53:05 * 邮件发送测试 mail.jar与activation.jar */ public class MailConstructor { // private String EnvelopeFrom;//邮件发送地址 // private String MailHost;//邮件服务器 private String UserName;// 用户名 private String PassWord;// 用户密码 private MimeMessage mimeMsg; // MIME邮件对象 private Session session; // 邮件会话对象 private Properties props; // 系统属性 // private boolean needAuth = false; //smtp 是否需要认证 private Multipart mp; // Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象 Authenticator auth; public MailConstructor() { } /** * public void sendMail() { * setSmtpHost(getConfig.mailHost);// 如果没有指定邮件服务器,就从getConfig类中获取 * createMimeMessage(); } */ public MailConstructor(String smtp) { setSmtpHost(smtp); createMimeMessage(); } /** * @param hostName * String */ public void setSmtpHost(String hostName) { System.out.println(" 设置系统属性:mail.smtp.host = " + hostName); if (props == null) props = System.getProperties(); // 获得系统属性对象 props.put("mail.smtp.host", hostName); // 设置SMTP主机 auth = new Email_Autherticator();//进行邮件服务器用户认证 props.put("mail.smtp.auth", "true"); } /** * @return boolean */ public boolean createMimeMessage() { try { System.out.println(" 准备获取邮件会话对象!"); session = Session.getDefaultInstance(props, null); // 获得邮件会话对象 } catch (Exception e) { System.err.println("获取邮件会话对象时发生错误!" + e); return false; } System.out.println(" 准备创建MIME邮件对象!"); try { mimeMsg = new MimeMessage(session); // 创建MIME邮件对象 mp = new MimeMultipart(); return true; } catch (Exception e) { System.err.println(" 创建MIME邮件对象失败!" + e); return false; } } /** * @param need * boolean */ public void setNeedAuth(boolean need) { System.out.println(" 设置smtp身份认证:mail.smtp.auth = " + need); if (props == null) props = System.getProperties(); if (need) { props.put("mail.smtp.auth", "true"); } else { props.put("mail.smtp.auth", "false"); } } /** * @param name * String * @param pass * String */ public void setNamePass(String name, String pass) { UserName = name; PassWord = pass; } /** * @param mailSubject * String * @return boolean */ public boolean setSubject(String mailSubject) { System.out.println("设置邮件主题!"); try { mimeMsg.setSubject(mailSubject); return true; } catch (Exception e) { System.err.println(" 设置邮件主题发生错误!"); return false; } } /** * @param mailBody * String */ public boolean setBody(String mailBody) { try { BodyPart bp = new MimeBodyPart(); bp.setContent( " <meta http-equiv=Content-Type content=text/html; charset=gb2312>" + mailBody, "text/html;charset=GB2312"); mp.addBodyPart(bp); return true; } catch (Exception e) { System.err.println(" 设置邮件正文时发生错误!" + e); return false; } } public boolean addFileAffix(String filename) { System.out.println(" 增加邮件附件:" + filename); try { BodyPart bp = new MimeBodyPart(); FileDataSource fileds = new FileDataSource(filename); bp.setDataHandler(new DataHandler(fileds)); bp.setFileName(fileds.getName()); mp.addBodyPart(bp); return true; } catch (Exception e) { System.err.println("增加邮件附件:" + filename + "发生错误!" + e); return false; } } public boolean setFrom(String from) { System.out.println("设置发信人!"); try { mimeMsg.setFrom(new InternetAddress(from)); // 设置发信人 return true; } catch (Exception e) { return false; } } public boolean setTo(String to) { if (to == null) return false; try { mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress .parse(to)); return true; } catch (Exception e) { return false; } } public boolean setCopyTo(String copyto) { if (copyto == null) return false; try { mimeMsg.setRecipients(Message.RecipientType.CC, (Address[]) InternetAddress.parse(copyto)); return true; } catch (Exception e) { return false; } } public boolean sendout() { try { mimeMsg.setContent(mp); mimeMsg.saveChanges(); System.out.println(" 正在发送邮件...."); Session mailSession = Session.getInstance(props, auth); Transport transport = mailSession.getTransport("smtp"); transport.connect((String) props.get("mail.smtp.host"), UserName, PassWord); transport.sendMessage(mimeMsg, mimeMsg .getRecipients(Message.RecipientType.TO)); // transport.send(mimeMsg); System.out.println("发送邮件成功!"); transport.close(); return true; } catch (Exception e) { System.err.println("邮件发送失败!" + e); return false; } } /** * Just do it as this */ public static void main(String[] args) { String mailbody = " <meta http-equiv=Content-Type content=text/html; charset=gb2312>" + " <div align=center><a href=http://www.baidu.com> 恭喜你,中奖啦! </a> </div>"; MailConstructor themail = new MailConstructor("smtp.163.com"); themail.setNeedAuth(true); if (themail.setSubject("标题") == false) return; if (themail.setBody(mailbody) == false) return; if (themail.setFrom("yr512656630@163.com") == false)//接收者 return; if (themail.setTo("326299987@qq.com") == false)//发送者 return; if (themail.setBody("二孩,你的肚子饿了没有哦!!!") == false) return; if (themail.addFileAffix("c:/send.txt") == false) return; // if(themail.addFileAffix("c:\\boot.ini") == false) return; themail.setNamePass("yr512656630@163.com", "******"); if (themail.sendout() == false) return; } public class Email_Autherticator extends Authenticator {//此段代码用来进行服务器对用户的认证 public Email_Autherticator() { super(); } public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(UserName, PassWord); } } }
所需JAR包如下:mail.jar与activation.jar
下面是发送和接收的一个DEMO
=======================================接收 package snowrain.javaMail; /** * * * @author yaor * @version 1.0 * @created 2010-7-16 下午05:24:43 * 接收邮件测试 */ import java.io.*; import java.text.*; import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class ReceiveMail { private MimeMessage mimeMessage = null; private String saveAttachPath = ""; // 附件下载后的存放目录 private StringBuffer bodytext = new StringBuffer(); // 存放邮件内容的StringBuffer对象 private String dateformat = "yy-MM-dd HH:mm"; // 默认的日前显示格式 /** * 构造函数,初始化一个MimeMessage对象 */ public ReceiveMail() { } public ReceiveMail(MimeMessage mimeMessage) { this.mimeMessage = mimeMessage; System.out.println("create a ReceiveMail object........"); } public void setMimeMessage(MimeMessage mimeMessage) { this.mimeMessage = mimeMessage; } /** * * 获得发件人的地址和姓名 */ public String getFrom() throws Exception { InternetAddress address[] = (InternetAddress[]) mimeMessage.getFrom(); String from = address[0].getAddress(); if (from == null) from = ""; String personal = address[0].getPersonal(); if (personal == null) personal = ""; String fromaddr = personal + "<" + from + ">"; return fromaddr; } /** * * 获得邮件的收件人,抄送,和密送的地址和姓名,根据所传递的参数的不同 * "to"----收件人 "cc"---抄送人 * * 地址 "bcc"---密送人地址 */ public String getMailAddress(String type) throws Exception { String mailaddr = ""; String addtype = type.toUpperCase(); InternetAddress[] address = null; if (addtype.equals("TO") || addtype.equals("CC") || addtype.equals("BCC")) { if (addtype.equals("TO")) { address = (InternetAddress[]) mimeMessage .getRecipients(Message.RecipientType.TO); } else if (addtype.equals("CC")) { address = (InternetAddress[]) mimeMessage .getRecipients(Message.RecipientType.CC); } else { address = (InternetAddress[]) mimeMessage .getRecipients(Message.RecipientType.BCC); } if (address != null) { for (int i = 0; i < address.length; i++) { String email = address[i].getAddress(); if (email == null) email = ""; else { email = MimeUtility.decodeText(email); } String personal = address[i].getPersonal(); if (personal == null) personal = ""; else { personal = MimeUtility.decodeText(personal); } String compositeto = personal + "<" + email + ">"; mailaddr += "," + compositeto; } mailaddr = mailaddr.substring(1); } } else { throw new Exception("Error emailaddr type!"); } return mailaddr; } /** * * 获得邮件主题 */ public String getSubject() throws MessagingException { String subject = ""; try { subject = MimeUtility.decodeText(mimeMessage.getSubject()); if (subject == null) subject = ""; } catch (Exception exce) { } return subject; } /** * * 获得邮件发送日期 */ public String getSentDate() throws Exception { Date sentdate = mimeMessage.getSentDate(); SimpleDateFormat format = new SimpleDateFormat(dateformat); return format.format(sentdate); } /** * * 获得邮件正文内容 */ public String getBodyText() { return bodytext.toString(); } /** * * 解析邮件,把得到的邮件内容保存到一个StringBuffer对象中,解析邮件 * * 主要是根据MimeType类型的不同执行不同的操作,一步一步的解析 */ public void getMailContent(Part part) throws Exception { String contenttype = part.getContentType(); int nameindex = contenttype.indexOf("name"); boolean conname = false; if (nameindex != -1) conname = true; System.out.println("CONTENTTYPE: " + contenttype); if (part.isMimeType("text/plain") && !conname) { bodytext.append((String) part.getContent()); } else if (part.isMimeType("text/html") && !conname) { bodytext.append((String) part.getContent()); } else if (part.isMimeType("multipart/*")) { Multipart multipart = (Multipart) part.getContent(); int counts = multipart.getCount(); for (int i = 0; i < counts; i++) { getMailContent(multipart.getBodyPart(i)); } } else if (part.isMimeType("message/rfc822")) { getMailContent((Part) part.getContent()); } else { } } /** * * 判断此邮件是否需要回执,如果需要回执返回"true",否则返回"false" */ public boolean getReplySign() throws MessagingException { boolean replysign = false; String needreply[] = mimeMessage .getHeader("Disposition-Notification-To"); if (needreply != null) { replysign = true; } return replysign; } /** * * 获得此邮件的Message-ID */ public String getMessageId() throws MessagingException { return mimeMessage.getMessageID(); } /** * * 【判断此邮件是否已读,如果未读返回返回false,反之返回true】 */ public boolean isNew() throws MessagingException { boolean isnew = false; Flags flags = ((Message) mimeMessage).getFlags(); Flags.Flag[] flag = flags.getSystemFlags(); System.out.println("flags's length: " + flag.length); for (int i = 0; i < flag.length; i++) { if (flag[i] == Flags.Flag.SEEN) { isnew = true; System.out.println("seen Message......."); break; } } return isnew; } /** * * 判断此邮件是否包含附件 */ public boolean isContainAttach(Part part) throws Exception { boolean attachflag = false; String contentType = part.getContentType(); if (part.isMimeType("multipart/*")) { Multipart mp = (Multipart) part.getContent(); for (int i = 0; i < mp.getCount(); i++) { BodyPart mpart = mp.getBodyPart(i); String disposition = mpart.getDisposition(); if ((disposition != null) && ((disposition.equals(Part.ATTACHMENT)) || (disposition .equals(Part.INLINE)))) attachflag = true; else if (mpart.isMimeType("multipart/*")) { attachflag = isContainAttach((Part) mpart); } else { String contype = mpart.getContentType(); if (contype.toLowerCase().indexOf("application") != -1) attachflag = true; if (contype.toLowerCase().indexOf("name") != -1) attachflag = true; } } } else if (part.isMimeType("message/rfc822")) { attachflag = isContainAttach((Part) part.getContent()); } return attachflag; } /** * * 【保存附件】 */ public void saveAttachMent(Part part) throws Exception { String fileName = ""; if (part.isMimeType("multipart/*")) { Multipart mp = (Multipart) part.getContent(); for (int i = 0; i < mp.getCount(); i++) { BodyPart mpart = mp.getBodyPart(i); String disposition = mpart.getDisposition(); if ((disposition != null) && ((disposition.equals(Part.ATTACHMENT)) || (disposition .equals(Part.INLINE)))) { fileName = mpart.getFileName(); if (fileName.toLowerCase().indexOf("gb2312") != -1) { fileName = MimeUtility.decodeText(fileName); } saveFile(fileName, mpart.getInputStream()); } else if (mpart.isMimeType("multipart/*")) { saveAttachMent(mpart); } else { fileName = mpart.getFileName(); if ((fileName != null) && (fileName.toLowerCase().indexOf("GB2312") != -1)) { fileName = MimeUtility.decodeText(fileName); saveFile(fileName, mpart.getInputStream()); } } } } else if (part.isMimeType("message/rfc822")) { saveAttachMent((Part) part.getContent()); } } /** * * 【设置附件存放路径】 */ public void setAttachPath(String attachpath) { this.saveAttachPath = attachpath; } /** * * 【设置日期显示格式】 */ public void setDateFormat(String format) throws Exception { this.dateformat = format; } /** * * 【获得附件存放路径】 */ public String getAttachPath() { return saveAttachPath; } /** * * 【真正的保存附件到指定目录里】 */ private void saveFile(String fileName, InputStream in) throws Exception { String osName = System.getProperty("os.name"); String storedir = getAttachPath(); String separator = ""; if (osName == null) osName = ""; if (osName.toLowerCase().indexOf("win") != -1) { separator = "\\"; if (storedir == null || storedir.equals("")) storedir = "c:\\tmp"; } else { separator = "/"; storedir = "/tmp"; } File storefile = new File(storedir + separator + fileName); System.out.println("storefile's path: " + storefile.toString()); // for(int i=0;storefile.exists();i++){ // storefile = new File(storedir+separator+fileName+i); // } BufferedOutputStream bos = null; BufferedInputStream bis = null; try { bos = new BufferedOutputStream(new FileOutputStream(storefile)); bis = new BufferedInputStream(in); int c; while ((c = bis.read()) != -1) { bos.write(c); bos.flush(); } } catch (Exception exception) { exception.printStackTrace(); throw new Exception("文件保存失败!"); } finally { bos.close(); bis.close(); } } /** * * ReceiveMail类测试 */ public static void main(String args[]) throws Exception { String host = "pop.163.com"; String username = "yr512656630";// 您的邮箱用户名 String password = "******";// 您的邮箱密码 Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); Store store = session.getStore("pop3"); store.connect(host, username, password); Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); Message message[] = folder.getMessages(); System.out.println("Messages's length: " + message.length); ReceiveMail pmm = null; for (int i = 0; i < message.length; i++) { pmm = new ReceiveMail((MimeMessage) message[i]); System.out .println("Message " + i + " subject: " + pmm.getSubject()); System.out.println("Message " + i + " sentdate: " + pmm.getSentDate()); System.out.println("Message " + i + " replysign: " + pmm.getReplySign()); System.out.println("Message " + i + " hasRead: " + pmm.isNew()); System.out.println("Message " + i + " containAttachment: " + pmm.isContainAttach((Part) message[i])); System.out.println("Message " + i + " form: " + pmm.getFrom()); System.out.println("Message " + i + " to: " + pmm.getMailAddress("to")); System.out.println("Message " + i + " cc: " + pmm.getMailAddress("cc")); System.out.println("Message " + i + " bcc: " + pmm.getMailAddress("bcc")); pmm.setDateFormat("yy年MM月dd日 HH:mm"); System.out.println("Message " + i + " sentdate: " + pmm.getSentDate()); System.out.println("Message " + i + " Message-ID: " + pmm.getMessageId()); pmm.getMailContent((Part) message[i]); System.out.println("Message " + i + " bodycontent: \r\n" + pmm.getBodyText()); //pmm.setAttachPath("c:\\tmp\\coffeecat1124"); pmm.setAttachPath("c:\\mail\\mail.txt"); pmm.saveAttachMent((Part) message[i]); } } }
=======================================发送 package snowrain.javaMail; /** * * * @author yaor * @version 1.0 * @created 2010-7-16 下午05:25:37 * 发送邮件测试 */ import java.util.Date; import java.util.Enumeration; import java.util.Properties; import java.util.Vector; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; 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 javax.mail.internet.MimeUtility; /** * Title: 使用javamail发送邮件 * Description: 演示如何使用javamail包发送电子邮件。这个实例可发送多附件 * @version 1.0 */ public class SendMail { String to = "";// 收件人 String from = "";// 发件人 String host = "";// smtp主机 String username = ""; String password = ""; String filename = "";// 附件文件名 String subject = "";// 邮件主题 String content = "";// 邮件正文 Vector file = new Vector();// 附件文件集合 /** * <br> * 方法说明:默认构造器 <br> * 输入参数: <br> * 返回类型: */ public SendMail() { } /** * <br> * 方法说明:构造器,提供直接的参数传入 <br> * 输入参数: <br> * 返回类型: */ public SendMail(String to, String from, String smtpServer, String username, String password, String subject, String content) { this.to = to; this.from = from; this.host = smtpServer; this.username = username; this.password = password; this.subject = subject; this.content = content; } /** * <br> * 方法说明:设置邮件服务器地址 <br> * 输入参数:String host 邮件服务器地址名称 <br> * 返回类型: */ public void setHost(String host) { this.host = host; } /** * <br> * 方法说明:设置登录服务器校验密码 <br> * 输入参数: <br> * 返回类型: */ public void setPassWord(String pwd) { this.password = pwd; } /** * <br> * 方法说明:设置登录服务器校验用户 <br> * 输入参数: <br> * 返回类型: */ public void setUserName(String usn) { this.username = usn; } /** * <br> * 方法说明:设置邮件发送目的邮箱 <br> * 输入参数: <br> * 返回类型: */ public void setTo(String to) { this.to = to; } /** * <br> * 方法说明:设置邮件发送源邮箱 <br> * 输入参数: <br> * 返回类型: */ public void setFrom(String from) { this.from = from; } /** * <br> * 方法说明:设置邮件主题 <br> * 输入参数: <br> * 返回类型: */ public void setSubject(String subject) { this.subject = subject; } /** * <br> * 方法说明:设置邮件内容 <br> * 输入参数: <br> * 返回类型: */ public void setContent(String content) { this.content = content; } /** * <br> * 方法说明:把主题转换为中文 <br> * 输入参数:String strText <br> * 返回类型: */ public String transferChinese(String strText) { try { strText = MimeUtility.encodeText(new String(strText.getBytes(), "GB2312"), "GB2312", "B"); } catch (Exception e) { e.printStackTrace(); } return strText; } /** * <br> * 方法说明:往附件组合中添加附件 <br> * 输入参数: <br> * 返回类型: */ public void attachfile(String fname) { file.addElement(fname); } /** * <br> * 方法说明:发送邮件 <br> * 输入参数: <br> * 返回类型:boolean 成功为true,反之为false */ public boolean sendMail() { // 构造mail session Properties props = System.getProperties(); props.put("mail.smtp.host", host); props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { // 构造MimeMessage 并设定基本的值 MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); InternetAddress[] address = { new InternetAddress(to) }; msg.setRecipients(Message.RecipientType.TO, address); subject = transferChinese(subject); msg.setSubject(subject); // 构造Multipart Multipart mp = new MimeMultipart(); // 向Multipart添加正文 MimeBodyPart mbpContent = new MimeBodyPart(); mbpContent.setText(content); // 向MimeMessage添加(Multipart代表正文) mp.addBodyPart(mbpContent); // 向Multipart添加附件 Enumeration efile = file.elements(); while (efile.hasMoreElements()) { MimeBodyPart mbpFile = new MimeBodyPart(); filename = efile.nextElement().toString(); FileDataSource fds = new FileDataSource(filename); mbpFile.setDataHandler(new DataHandler(fds)); mbpFile.setFileName(fds.getName()); // 向MimeMessage添加(Multipart代表附件) mp.addBodyPart(mbpFile); } file.removeAllElements(); // 向Multipart添加MimeMessage msg.setContent(mp); msg.setSentDate(new Date()); // 发送邮件 Transport.send(msg); } catch (MessagingException mex) { mex.printStackTrace(); Exception ex = null; if ((ex = mex.getNextException()) != null) { ex.printStackTrace(); } return false; } return true; } /** * <br> * 方法说明:主方法,用于测试 <br> * 输入参数: <br> * 返回类型: */ public static void main(String[] args) { SendMail sendmail = new SendMail(); sendmail.setHost("smtp.163.com");//smtp.mail.yahoo.com.cn sendmail.setUserName("yr512656630");//您的邮箱用户名 sendmail.setPassWord("******");//您的邮箱密码 sendmail.setTo("512656630@qq.com");//接收者 sendmail.setFrom("yr512656630@163.com");//发送者 sendmail.setSubject("你好,这是测试2!"); sendmail.setContent("你好这是一个带多附件的测试2!"); sendmail.attachfile("c:/send.txt"); sendmail.attachfile("c:/send.txt"); sendmail.sendMail(); } }
注意,在使用发送的时候会报javax.mail.AuthenticationFailedException异常
解决方法,JAR包冲突,删掉项目中java ee 5包
或者去IDE的目录找到JAVA ee5删除mail文件夹,如我用的是5.1
D:\Program Files\MyEclipse 5.5.1 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.1\data\libraryset\EE_5
用压缩包打开javaee.jar 删除 mail和activation即可解决jar冲突
- activation.jar (53.9 KB)
- 下载次数: 20
- mail.jar (451.3 KB)
- 下载次数: 17
发表评论
-
Cannot get a connection, pool error Timeout waiting for idle object
2012-05-25 11:50 4820#不能取得连接,等待连接池对象超时! 解决:数据端察看连接 ... -
jdbc 多个不确定参数的查询
2011-10-11 11:39 1799public List<User> getList ... -
JDBC插入成功返回当前自增ID
2011-09-16 16:39 105941:不用自增ID,直接用uuid不存在此问题 2:自增ID。 ... -
JAVA递归DEMO
2011-09-14 08:10 814Java递归遍历XML所有元素DEMO JAVA程序递归方式 ... -
DBCP配置
2011-09-13 21:39 2545项目中用到了连接池,JDBC + DBCP 。 配置方法如下 ... -
jdbc数据库连接池
2011-04-13 14:56 1262在帖代码前,描述下 JDB ... -
File操作
2010-11-29 13:18 7851.以文件流的方式复制文件 /** *//**以文件流的 ... -
基于java的程序OutOfMemory问题的解决及Xms/Xmx/Xss的解释和应用
2010-07-08 12:52 972摘自 http://blog.csdn.net/superb ...
相关推荐
在Java编程中,发送带有附件和图片的电子邮件是一项常见的任务,尤其在自动化通知、报告分发等场景下。本文将详细讲解如何使用Java Mail API来实现这一功能,同时参考提供的`TemplateMailMessage.java`和`...
Java Mail 发送邮件及邮件附件 Java Mail 是一个广泛使用的 Java 库,用于发送电子邮件。以下是 Java Mail 发送邮件及邮件附件的知识点。 Java Mail 简介 Java Mail 是一个 Java 库,提供了发送电子邮件的功能。...
在Java编程中,发送带有附件的邮件是一项常见的任务,尤其在企业级应用或者自动化脚本中。这个场景通常涉及到JavaMail API的使用,一个强大的库,可以用来处理SMTP(简单邮件传输协议)邮件服务。接下来,我们将深入...
"javaemail发送邮件(带附件)" javaemail发送邮件(带附件)是使用Java技术实现的邮件发送功能,支持带附件的发送。下面是该功能的知识点总结: 1. 使用JavaMailSenderImpl类来发送邮件,需要设置SMTP服务器、用户名...
5. 添加附件:如果需要发送附件,可以使用MimeBodyPart和Multipart类来创建包含附件的邮件。 6. 发送邮件:使用Transport类的send方法发送邮件。 四、添加附件的实现 1. 创建MimeBodyPart对象:为每个附件创建一个...
在Java编程中,发送带有Excel附件的电子邮件是一项常见的任务,特别是在数据报告或自动化流程中。在某些场景下,我们可能希望直接以流的形式处理Excel数据,而不是先将其保存为一个实际的文件,然后再作为附件发送。...
以上就是利用Java Mail API发送带有附件及多媒体内容的邮件的主要步骤。这种方法非常灵活,可以根据不同的需求定制邮件内容。在实际应用中,还需要注意错误处理及安全性问题,确保邮件发送过程的稳定性和安全性。
在Java编程中,发送和接收带有附件的电子邮件是一项...总结来说,Java Mail API提供了一套完整的框架,使得在Java中收发带有附件的邮件变得简单易行。通过理解和运用上述知识点,你可以构建出符合需求的邮件处理系统。
在Java应用程序中,我们通常使用JavaMail API来实现邮件的自动化操作,比如发送带有附件的邮件、群发邮件等。下面将详细介绍如何使用Java Mail进行邮件发送,并结合提供的文件名称,提供相关的代码实例。 首先,要...
这个"java mail 收发邮件Demo源码"提供了一个实际应用示例,可以帮助我们理解如何使用Java Mail API实现邮件的收发以及处理附件和编码问题。 1. **Java Mail API简介** Java Mail API 是由Java Community Process ...
java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送
7. **附件支持**: 如果需要发送附件,可以使用`MimeBodyPart`和`MimeMultipart`类。创建一个`MimeBodyPart`对象,添加附件内容,然后将其添加到`MimeMultipart`对象中,最后将`Multipart`对象设为邮件内容。 8. **...
本教程将详细介绍如何在Spring Boot项目中实现邮件发送功能,包括发送普通邮件和带有附件的邮件,以及如何设置定时任务来自动发送邮件。 首先,我们需要在项目中引入Spring Boot的邮件服务依赖。在`pom.xml`或`...
如果要发送附件,可以使用`Multipart`和`BodyPart`来构建复杂的邮件结构。 ```java Multipart multipart = new MimeMultipart(); // 添加文本正文 BodyPart messageBodyPart = new MimeBodyPart(); ...
JAVA_Mail_邮件_发送_接收_抄送_密送_附件 该资源是一个Java项目,可用Eclipse导入即可运行。 共4个类: 1:ReceiveMail.java -接收普通邮件 2:ReciveMailWithAttachMent.java --接收含有附件的邮件 3:SendMail....
5. **添加附件**:如果需要发送附件,可以使用`Multipart`对象来组合多个部分(正文和附件)。`MimeBodyPart`用于表示邮件的每一个部分,然后添加到`Multipart`中。 ```java Multipart multipart = new ...
这个项目提供了完整的代码示例,演示了如何在Java程序中实现发送普通邮件以及带有附件的功能。以下是对这些功能的详细解释: 首先,发送普通邮件涉及到的主要接口是`javax.mail.Session`、`javax.mail.Transport`和...
Java Mail邮件发送是Java开发中常见的一项功能,用于在应用程序中发送电子邮件。Java Mail API提供了一个标准的接口,使得开发者可以方便地实现SMTP(简单邮件传输协议)和其他邮件协议的功能。下面将详细介绍Java ...
这个"java收发邮件完整版"项目提供了一个完整的Java邮件发送和接收的解决方案,确保用户可以顺利地通过编程方式处理电子邮件。在这个压缩包中,可能包含了一个或多个Java源代码文件,例如"71112303梁洁"和"71112418...
`java邮件系统`和`java邮件收发`则涉及到更广泛的邮件处理概念,包括不仅限于发送,还可能包括接收和解析邮件。 综上所述,Java结合Spring框架发送邮件是一个实用且功能强大的解决方案,通过合理的配置和编程,可以...