`

java mail 邮件发送

    博客分类:
  • java
阅读更多
action层
// 获取密码
	@RequestMapping(value = "/openapi/send_pwd_to_email.json", method = {
			RequestMethod.GET, RequestMethod.POST })
	public void jsonSendPwdToEmail(HttpServletRequest request,
			HttpServletResponse response, Model model) {
		User user = userService.getUserByNick(ReqUtil.getParam(request, "nick")
				.trim());
		JSONObject obj = new JSONObject();
		String c_email = "XXX@sina.com";
		String username = "XXX";
		String pwd = "XXX";
		String u_email = request.getParameter("email");
		try {
			if (user != null) {
				if (user.getEmail().equals(u_email)) {
					//以下是邮箱发送服务器
					String[] subString1 = c_email.split("[@]");
					String serverHost = "smtp." + subString1[1];
					// 这个类主要是设置邮件
					MailSenderInfo mailInfo = new MailSenderInfo();
					mailInfo.setMailServerHost(serverHost);
					mailInfo.setMailServerPort("25");
					mailInfo.setValidate(true);
					mailInfo.setUserName(username);
					mailInfo.setPassword(pwd);// 您的邮箱密码
					mailInfo.setFromAddress(c_email);
					mailInfo.setToAddress(u_email);
					mailInfo.setSubject("你好,这是……白名单。");
					mailInfo.setContent("你的密码是" + user.getPwd());
					// 这个类主要来发送邮件
					SimpleMailSender sms = new SimpleMailSender();
					// 发送文体格式
					if (sms.sendTextMail(mailInfo)) {
						obj.put("msg", "密码已成功发到您的邮箱,请查收");
						obj.put("isSuccess", true);
						obj.put("result_code", "0");
					} else {
						obj.put("msg", "网络异常,密码发送失败");
						obj.put("isSuccess", false);
						obj.put("result_code", "-1");
					}
				} else {
					obj.put("msg", "找回邮箱与注册邮箱不符");
					obj.put("isSuccess", false);
					obj.put("result_code", "-2");
				}
			} else {
				obj.put("msg", "查无此人");
				obj.put("isSuccess", false);
				obj.put("result_code", "-3");
			}
		} catch (JSONException e) {
			e.printStackTrace();
		}
		RespUtil.renderJson(response, obj.toString());
	}

其他
package com.longmap.common.util;
/**  
* 发送邮件需要使用的基本信息
* 
*/    
import java.util.Properties;    
public class MailSenderInfo {    
    // 发送邮件的服务器的IP和端口    
    private String mailServerHost;    
    private String mailServerPort = "25";    
    // 邮件发送者的地址    
    private String fromAddress;    
    // 邮件接收者的地址    
    private String toAddress;    
    // 登陆邮件发送服务器的用户名和密码    
    private String userName;    
    private String password;    
    // 是否需要身份验证    
    private boolean validate = false;    
    // 邮件主题    
    private String subject;    
    // 邮件的文本内容    
    private String content;    
    // 邮件附件的文件名    
    private String[] attachFileNames;      
    /** *//**   
      * 获得邮件会话属性   
      */    
    public Properties getProperties(){    
      Properties p = new Properties();    
      p.put("mail.smtp.host", this.mailServerHost);    
      p.put("mail.smtp.port", this.mailServerPort);    
      p.put("mail.smtp.auth", validate ? "true" : "false");    
      return p;    
    }    
    public String getMailServerHost() {    
      return mailServerHost;    
    }    
    public void setMailServerHost(String mailServerHost) {    
      this.mailServerHost = mailServerHost;    
    }   
    public String getMailServerPort() {    
      return mailServerPort;    
    }   
    public void setMailServerPort(String mailServerPort) {    
      this.mailServerPort = mailServerPort;    
    }   
    public boolean isValidate() {    
      return validate;    
    }   
    public void setValidate(boolean validate) {    
      this.validate = validate;    
    }   
    public String[] getAttachFileNames() {    
      return attachFileNames;    
    }   
    public void setAttachFileNames(String[] fileNames) {    
      this.attachFileNames = fileNames;    
    }   
    public String getFromAddress() {    
      return fromAddress;    
    }    
    public void setFromAddress(String fromAddress) {    
      this.fromAddress = fromAddress;    
    }   
    public String getPassword() {    
      return password;    
    }   
    public void setPassword(String password) {    
      this.password = password;    
    }   
    public String getToAddress() {    
      return toAddress;    
    }    
    public void setToAddress(String toAddress) {    
      this.toAddress = toAddress;    
    }    
    public String getUserName() {    
      return userName;    
    }   
    public void setUserName(String userName) {    
      this.userName = userName;    
    }   
    public String getSubject() {    
      return subject;    
    }   
    public void setSubject(String subject) {    
      this.subject = subject;    
    }   
    public String getContent() {    
      return content;    
    }   
    public void setContent(String textContent) {    
      this.content = textContent;    
    }    
}   


package com.longmap.common.util;

import java.util.Date;    
import java.util.Properties;   
import javax.mail.Address;    
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;    
  
/** *//**   
* 简单邮件(不带附件的邮件)发送器   
http://www.bt285.cn BT下载
*/    
public class SimpleMailSender  {    
/** *//**   
  * 以文本格式发送邮件   
  * @param mailInfo 待发送的邮件的信息   
  */    
    public boolean sendTextMail(MailSenderInfo mailInfo) {    
      // 判断是否需要身份认证    
      MyAuthenticator authenticator = null;    
      Properties pro = mailInfo.getProperties();   
      if (mailInfo.isValidate()) {    
      // 如果需要身份认证,则创建一个密码验证器    
        authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());    
      }   
      // 根据邮件会话属性和密码验证器构造一个发送邮件的session    
      Session sendMailSession = Session.getDefaultInstance(pro,authenticator);    
      try {    
      // 根据session创建一个邮件消息    
      Message mailMessage = new MimeMessage(sendMailSession);    
      // 创建邮件发送者地址    
      Address from = new InternetAddress(mailInfo.getFromAddress());    
      // 设置邮件消息的发送者    
      mailMessage.setFrom(from);    
      // 创建邮件的接收者地址,并设置到邮件消息中    
      Address to = new InternetAddress(mailInfo.getToAddress());    
      mailMessage.setRecipient(Message.RecipientType.TO,to);    
      // 设置邮件消息的主题    
      mailMessage.setSubject(mailInfo.getSubject());    
      // 设置邮件消息发送的时间    
      mailMessage.setSentDate(new Date());    
      // 设置邮件消息的主要内容    
      String mailContent = mailInfo.getContent();    
      mailMessage.setText(mailContent);    
      // 发送邮件    
      Transport.send(mailMessage);   
      return true;    
      } catch (MessagingException ex) {    
          ex.printStackTrace();    
      }    
      return false;    
    }    
       
    /** *//**   
      * 以HTML格式发送邮件   
      * @param mailInfo 待发送的邮件信息   
      */    
    public static boolean sendHtmlMail(MailSenderInfo mailInfo){    
      // 判断是否需要身份认证    
      MyAuthenticator authenticator = null;   
      Properties pro = mailInfo.getProperties();   
      //如果需要身份认证,则创建一个密码验证器     
      if (mailInfo.isValidate()) {    
        authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());   
      }    
      // 根据邮件会话属性和密码验证器构造一个发送邮件的session    
      Session sendMailSession = Session.getDefaultInstance(pro,authenticator);    
      try {    
      // 根据session创建一个邮件消息    
      Message mailMessage = new MimeMessage(sendMailSession);    
      // 创建邮件发送者地址    
      Address from = new InternetAddress(mailInfo.getFromAddress());    
      // 设置邮件消息的发送者    
      mailMessage.setFrom(from);    
      // 创建邮件的接收者地址,并设置到邮件消息中    
      Address to = new InternetAddress(mailInfo.getToAddress());    
      // Message.RecipientType.TO属性表示接收者的类型为TO    
      mailMessage.setRecipient(Message.RecipientType.TO,to);    
      // 设置邮件消息的主题    
      mailMessage.setSubject(mailInfo.getSubject());    
      // 设置邮件消息发送的时间    
      mailMessage.setSentDate(new Date());    
      // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象    
      Multipart mainPart = new MimeMultipart();    
      // 创建一个包含HTML内容的MimeBodyPart    
      BodyPart html = new MimeBodyPart();    
      // 设置HTML内容    
      html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");    
      mainPart.addBodyPart(html);    
      // 将MiniMultipart对象设置为邮件内容    
      mailMessage.setContent(mainPart);    
      // 发送邮件    
      Transport.send(mailMessage);    
      return true;    
      } catch (MessagingException ex) {    
          ex.printStackTrace();    
      }    
      return false;    
    }    
}   
分享到:
评论

相关推荐

    java mail 邮件发送

    Java Mail邮件发送是一个在Java应用程序中发送电子邮件的关键技术。它基于JavaMail API,这是一个开源库,提供了丰富的功能来处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件...

    Java Mail邮件发送源码下载

    Java Mail邮件发送是Java开发中常见的一项功能,用于在应用程序中发送电子邮件。Java Mail API提供了一个标准的接口,使得开发者可以方便地实现SMTP(简单邮件传输协议)和其他邮件协议的功能。下面将详细介绍Java ...

    申请和配置Google Apps邮件服务器,附带JAVA MAIL邮件发送系统

    描述中提到的“JAVA MAIL邮件发送系统”是指使用JavaMail API来发送电子邮件。JavaMail是Java平台上的开源库,它提供了一组接口和类,可以与各种邮件服务器通信,包括SMTP服务器(用于发送邮件)、POP3或IMAP服务器...

    EmailUtils Java mail 邮件发送

    它可能包含的方法有`sendEmail(String to, String subject, String body, Properties config)`,其中`to`是收件人地址,`subject`是邮件主题,`body`是邮件正文,`config`则是邮件发送的配置信息。 4. **配置参数**...

    java mail邮件发送

    代码不是独家所有,简单的一个例子,共享给大家使用,拿到代码后,自己改改包名和添加相对应的jar包。我只是在工程里面直接打了个zip压缩,所以jar包可能没有!主要使用了mail.jar(javax.mail)

    java mail 邮件发送功能,自带jar包

    在Java Mail中,你可以使用SMTP(简单邮件传输协议)或其他邮件传输协议来发送邮件。提供的jar包通常包括了 javax.mail 和 javax.mail.internet 等核心库,这些库包含了处理邮件所需的全部API。 在给定的压缩包中,...

    java发邮件 java发email

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、报表发送或者用户验证等场景中。下面将详细解释如何使用Java来发送邮件,并提供相关的知识点。 首先,Java通过JavaMail API提供了发送邮件的功能。JavaMail ...

    java实现邮件发送(三种发送方式都有)

    邮件发送主要涉及到SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)两种协议。SMTP用于将邮件发送到邮件服务器,而POP3则用于从邮件服务器接收邮件。此外,还有IMAP(Internet ...

    java mail 发送邮件

    下面将详细介绍如何使用Java Mail进行邮件发送,并结合提供的文件名称,提供相关的代码实例。 首先,要使用Java Mail API,我们需要引入相关的依赖库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml ...

    java 发送附件mail

    在实际开发中,还可以使用第三方库如Apache Commons Email或JavaMailSender Interface(Spring框架的一部分)来简化邮件发送的过程,它们提供了更友好的API来处理邮件。 总结一下,Java发送带有附件的邮件涉及到...

    java Mail 发送邮件及邮件附件

    Java Mail 提供了一个调试开关,允许开发者输出邮件发送过程的调试信息。下面是一个简单的示例代码: ```java public class Mail { public static void main(String[] args) { Mail mail = new Mail(); mail....

    写java程序实现发邮件功能

    在`Mail_class.java`文件中,我们将实现以下四种类型的邮件发送: 1. **发送纯文本邮件**: 要发送纯文本邮件,你需要创建一个`Properties`对象来设置SMTP服务器的相关属性,然后通过`Session`对象初始化邮件会话...

    java mail(邮件发送实例)

    通过运行这个程序,你可以实际测试邮件发送功能是否正常工作。 总的来说,Java Mail API 提供了一套强大的工具,使得在Java应用程序中集成邮件功能变得简单。通过结合Apache Commons Email库,我们可以轻松地创建...

    Java Mail 发布邮件

    接着,我们创建一个`MimeMessage`实例,设置发件人、收件人、主题和正文,最后通过`Transport.send()`方法发送邮件。 Java Mail API还支持更复杂的功能,如添加附件、设置HTML格式的正文、使用多部分消息(MIME类型...

    基于Java的邮件发送模板

    本篇文章将详细讲解如何利用Java实现邮件发送,并结合Apache的相关库来创建邮件发送模板,以提升效率和用户体验。 首先,JavaMail API是Java中用于处理电子邮件的主要库。它提供了丰富的API,可以用来创建、发送和...

    简单Java邮件发送 Java实现邮件发送

    Java邮件发送是一个常见的任务,尤其在自动化通知、订阅服务或者数据报告等场景中。本教程将详细介绍如何使用Java实现邮件发送功能,同时提供了一个Jar包和demo源码供参考。 首先,我们需要理解JavaMail API,这是...

Global site tag (gtag.js) - Google Analytics