- 浏览: 60224 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
jijiuzhou:
...
spring 第二天 访问资源文件 以及各种乱七八糟的错误信息以及解决办法 -
金米线:
感觉学习理解的不够深入,准备在重新学习一遍
测试驱动开发 我的现金系统 -
锅巴49:
Outer outer=new Outer();
Outer. ...
java 调用内部类
com.sun.mail.smtp.SMTPSendFailedException: 553 You are not authorized to send mail, authentication is required 邮件发送成功 at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1275) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:895) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:524) at javax.mail.Transport.send0(Transport.java:151) at javax.mail.Transport.send(Transport.java:80) at com.mixian.springEmail.MainEmail.send(MainEmail.java:113) at com.mixian.springEmail.MainEmail.main(MainEmail.java:138)spring发送邮件: package com.mixian.springEmail; import java.io.UnsupportedEncodingException; 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; public class MainEmail { //收件人 private String to=""; //发件人 private String from=""; //smtp服务器 private String smtpServer=""; //用户名 private String username=""; //密码 private String pwd=""; //附件文件名 private String filename=""; //邮件主题 private String subject=""; //邮件正文 private String content=""; //附件文件集合 Vector file = new Vector(); //构造函数 public MainEmail(){} public MainEmail(String to,String from,String smtpServer,String username,String pwd, String filename,String subject,String content){ this.to = to; this.from = from; this.smtpServer = smtpServer; this.username = username; this.pwd = pwd; this.filename = filename; this.subject = subject; this.content = content; } //邮件主题转换成中文 public String transferChinese(String strText){ try { strText = MimeUtility.encodeText(new String(strText.getBytes(),"GB2312"), "GB2312", "B"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return strText; } //增加附件 public void attachfile(String fname){ file.addElement(fname); } //发送邮件 public boolean send(){ //创建邮件session所需的对象 Properties props = System.getProperties(); props.put("mail.smtp.host", smtpServer); props.put("mail.smtp.auth", "true"); //创建session Session session = Session.getDefaultInstance(props, new Authenticator(){ public PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(username,pwd); } }); try { MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); InternetAddress[] address = {new InternetAddress(to)}; msg.setRecipients(Message.RecipientType.TO, address); msg.setSubject(subject); //构造Multipart Multipart mp = new MimeMultipart(); //添加正文 MimeBodyPart mbpContent = new MimeBodyPart(); mbpContent.setText(content); 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 mp.addBodyPart(mbpFile); } file.removeAllElements(); msg.setContent(mp); msg.setSentDate(new Date(0)); Transport.send(msg); } catch (MessagingException e) { e.printStackTrace(); /*Exception ex=null; if((ex==e.getNextException())!=null){ ex.printStackTrace(); }*/ return false; } return true; } public static void main(String[] args) { MainEmail sendMail = new MainEmail(); sendMail.setSmtpServer("smtp.163.com"); sendMail.setUsername("xx"); sendMail.setPwd("xx"); sendMail.setTo("xx"); sendMail.setFrom("test@163.com"); sendMail.setSubject("test spring email"); sendMail.setContent("这是一个带多附件的测试"); sendMail.attachfile("D:\test.txt"); sendMail.attachfile("D:\test.txt"); sendMail.send(); System.out.println("邮件发送成功"); } public String getTo() { return to; } public void setTo(String to) { this.to = to; } public String getFrom() { return from; } public void setFrom(String from) { this.from = from; } public String getSmtpServer() { return smtpServer; } public void setSmtpServer(String smtpServer) { this.smtpServer = smtpServer; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getFilename() { return filename; } public void setFilename(String filename) { this.filename = filename; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Vector getFile() { return file; } public void setFile(Vector file) { this.file = file; } }
操作结果报错:
com.sun.mail.smtp.SMTPSendFailedException: 553 You are not authorized to send mail, authentication is required 邮件发送成功 at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1275) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:895) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:524) at javax.mail.Transport.send0(Transport.java:151) at javax.mail.Transport.send(Transport.java:80) at com.mixian.springEmail.MainEmail.send(MainEmail.java:113) at com.mixian.springEmail.MainEmail.main(MainEmail.java:138)
解决方法:用户登录的邮件名 要与发送的邮件名一样
发表评论
-
spring ioc
2011-10-08 14:28 559待补 -
spring aop
2011-10-08 14:27 669待补 -
eclipse内部启动tomcat,eclipse外部启动tomcat,去掉8080端口访问
2011-09-22 11:21 50271 : eclipse web 工 ... -
测试驱动开发实战之各个击破
2010-12-13 12:48 753项目测试: import org.junit.Before; ... -
tomcat配置https
2010-11-15 13:34 1061参考文档Keytool使用指南:http://java.sun ... -
远程调试java
2010-11-07 16:29 797需求: 我是在eclipse开发工程,通过tomca ... -
测试驱动开发 我的现金系统
2010-10-24 16:05 943本文以我的现金系统为例来介绍如何用测试驱动开发。 主要以货币 ... -
基础乱七八糟命令
2010-10-11 18:38 731命令行删除文件:del+文件名称 java中 fi ... -
测试驱动开发 java基础
2010-10-11 18:37 2921public class CourseSessionTest ... -
测试驱动开发
2010-10-09 11:03 9541安装java ant 2写helloworld clas ... -
spring 第二天 访问资源文件 以及各种乱七八糟的错误信息以及解决办法
2010-09-08 22:13 1225我在用spring访问资源文件的时候出错了 urlresou ... -
spring 40天全程跟踪 第一天spring依赖注入控制反转
2010-08-19 14:19 742以前都是用MyEclipse集成开发,开发速度快,但是很多时候 ... -
java 对文件的操作
2010-08-18 20:39 800java 遍历文件夹文件: package com.mixi ... -
java list arraylist map 集合
2010-08-17 23:41 1457package com.mixian.list; imp ... -
java 线程安全 和同步方法
2010-08-17 21:32 658package com.mixian.thread; p ... -
java 调用内部类
2010-08-15 10:37 5094调用内部类的某个方法 ... -
链接支付宝查询出错
2010-08-12 16:18 950在去支付宝查询用户数据的时候报错: java.lang.Ru ... -
java log4j 错误日志
2010-08-12 10:06 947import org.apache.commons.loggi ... -
java 反射机制原理及实例
2010-08-11 23:26 1188能够分析类能力的程序成为反射。 xx.getClass(). ... -
java 一些基本技巧
2010-08-10 07:37 6341 数组 数组在初始化的时候就需要规定其大小,不 ...
相关推荐
通过以上步骤,你就可以在Java应用中使用Spring发送邮件了。当然,实际的邮件发送可能更复杂,涉及HTML内容、附件、多部分消息等,可以使用`MimeMessage`和`MimeMessageHelper`类来构建复杂的邮件结构。例如,添加...
Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件...
在"spring各种邮件发送"这个主题中,我们将探讨Spring框架如何帮助开发者实现电子邮件的发送。邮件服务在许多应用场景中都十分常见,例如用户注册确认、密码重置提醒等。 首先,Spring框架提供了`JavaMailSender`...
下面将详细介绍如何使用Spring发送邮件。 首先,我们需要在项目中引入Spring的邮件支持。这通常通过添加`spring-context-support`依赖来完成,该依赖包含了处理邮件发送所需的类。在Maven项目中,可以在pom.xml文件...
接下来,我们将介绍如何使用Spring发送不同类型的邮件: 1. **发送纯文本邮件**: 要发送纯文本邮件,你可以创建一个`SimpleMailMessage`对象,设置发件人、收件人、主题和正文,然后调用`JavaMailSender`的`send...
在本话题中,我们将探讨“Spring高效批量邮件发送”这一技术点,这通常涉及到Spring框架中的邮件服务模块以及如何优化邮件发送的效率。 首先,Spring框架的MailSender接口是处理邮件发送的核心组件。它提供了send()...
而Spring集成邮件服务则是一个常见的需求,特别是对于那些需要发送确认邮件、通知或者报告的应用来说。下面将详细阐述Spring如何与JavaMail API结合,实现邮件服务的集成。 首先,我们需要理解JavaMail API。...
在Java开发中,Spring框架提供了一种简单而强大的方式来发送电子邮件。Spring的`JavaMailSender`接口以及其实现类`SimpleMailMessage`和`MailMessage`,使得开发者能够轻松地集成邮件服务到应用程序中。这篇博客()...
邮件服务类中的方法可以接收邮件的发件人、收件人、主题和内容作为参数,然后调用JavaMailSender的send方法发送邮件。 3. **Struts2整合**:在Struts2的配置文件(struts.xml)中,定义一个Action类,该类会调用...
### Spring培训笔记第一天:深入理解Spring框架的核心概念与实践 #### Spring框架简介 Spring框架是企业级应用开发中广泛使用的轻量级框架,它通过提供一系列的开发模式和最佳实践来简化Java应用的开发过程。...
在Java开发中,Spring框架提供了一种方便的方式来发送电子邮件,这就是SpringMail模块。SpringMail使得在应用程序中集成邮件服务变得更加简单,它支持多种功能,包括发送带有多个附件、多接收者(包括抄送和暗送)的...
在本项目中,我们关注的是Spring的一个特定功能——定时任务,以及如何结合这个功能来实现邮件的自动发送。这涉及到Spring的两大模块:Spring Task(Spring的定时任务模块)和Spring Mail(用于发送邮件的模块)。 ...
在Spring MVC框架中,实现邮件发送功能通常涉及配置Spring的JavaMailSender接口和使用模板引擎如FreeMarker来创建动态邮件内容。以下是一个详细的步骤指南: 1. **依赖库**: - `javax.mail`:这是Java邮件API的...
- **创建SimpleMailMessage对象**: SimpleMailMessage是Spring提供的一个预定义的邮件消息类,我们可以在这里设置邮件的发件人、收件人、主题和正文。 - **调用send方法发送邮件**: 使用JavaMailSenderImpl的send...
8. **邮件发送**:Spring框架提供了`JavaMailSender`接口和相关的实现类,可以方便地发送邮件,支持HTML格式、附件等,这对于发送通知或报告非常有用。 在实际开发中,Spring框架的强大功能可以极大地提高开发效率...
Spring Mail是Spring Framework的一个扩展模块,它提供了与JavaMail API的简单集成,用于发送电子邮件。在某些企业环境中,由于网络安全策略,直接访问互联网可能被禁止,这时就需要通过HTTP或SOCKS代理来发送邮件。...