`

第三方--发送邮件工具类

 
阅读更多

 

package 

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
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 org.apache.log4j.Logger;

public class EmailUtil {
	private Logger log = Logger.getLogger(EmailUtil.class);
	private String host;
	private String username;
	private String password;
	private String fromEmail;

	public EmailUtil(String host, String username, String password,
			String fromEmail) {
		this.host = host;
		this.username = username;
		this.password = password;
		this.fromEmail = fromEmail;
	}

	public EmailUtil() {
	}

	/**
	 * 发送邮件
	 * 
	 * @param receiverEmail
	 * @param subject
	 * @param mailContent
	 */
	public boolean sendMail(String[] receiverEmail, String subject,
			String mailContent,String host,String fromEmail,String username,String password) {
		try {
			Properties props = new Properties();// 创建属性对象
			props.put("mail.smtp.host", host);// 设置smtp服务器地址
			props.put("mail.smtp.auth", "true");// 设置服务器smtp需要验证
			props.put("mail.from", fromEmail);
			javax.mail.Session session = javax.mail.Session.getInstance(props,
					null);// 创建新邮件并群发
			// Session session = Session.getDefaultInstance(props);
			// session.setDebug(true);
			MimeMessage message = new MimeMessage(session);// 创建过程对象
			message.setSentDate(new Date());// 设置时间
			InternetAddress[] address = new InternetAddress[receiverEmail.length]; // 群发地址
			for (int i = 0; i < receiverEmail.length; i++) { // 循环发送
				address[i] = new InternetAddress(receiverEmail[i]);
			}
			message.setRecipients(Message.RecipientType.TO, address);
			message.setSubject(subject);// 设置主题
			Multipart multipart = new MimeMultipart();
			BodyPart contentPart = new MimeBodyPart();
			contentPart.setContent(mailContent, "text/html;charset=utf-8");// 设置信件内容
			multipart.addBodyPart(contentPart);
			message.setContent(multipart);
			message.saveChanges();
			Transport transport = session.getTransport("smtp");
			transport.connect(host, username, password);
			transport.sendMessage(message, message.getAllRecipients());
			transport.close();
			return true;
		} catch (Exception e) {
//			log.error(e.getMessage(), e);
			e.printStackTrace();
			return false;
		} 
	}
	/*
	 * 
	 * 
	 */
	public static  boolean nowSendMail(String email ,String content) {
	
//		boolean b = false;
		try {
		
			Properties prop = new Properties();
			String base =Thread.currentThread().getContextClassLoader().getResource("").getPath(); 
//			System.out.println(base);
//			base = base.substring(1, base.length());
//			System.out.println(base);
			InputStream in = new BufferedInputStream (new FileInputStream(base + "email.properties"));
			prop.load(in);
			String host = prop.getProperty("host");
			String username = prop.getProperty("username");
			String password = prop.getProperty("password");
			String fromEmail = prop.getProperty("fromemail");
			String title =new String(prop.getProperty("title").getBytes("ISO8859-1"),"UTF-8"); 
			
			EmailUtil eh = new EmailUtil();
			boolean sendFlag = eh.sendMail(new String[] { email }, title,content,host,fromEmail,username,password);
			if(!sendFlag){
				return false;
			}

		} catch (IOException e) {
			e.printStackTrace();
		}
		return true;
	}

	public static void main(String[] args) {
		EmailUtil.nowSendMail("xx@163.com", "测试内容");
	}
}











 

 

 

email.properties:

host=smtp.163.com
username=xxxx
password=xxxx
fromemail=xxx@163.com

 

 

 

 

 

分享到:
评论

相关推荐

    ThinkPHP-个人QQ邮件发送

    在IT行业中,使用编程框架可以极大地提高开发效率和代码质量。ThinkPHP是一个广泛使用的PHP框架,它为...此外,这也展示了如何与第三方服务提供商如腾讯进行API集成,这对于提升开发者解决实际问题的能力大有裨益。

    java发送该邮件源码可支持第三方调用jar

    为了方便第三方调用,源码很可能封装成了一个独立的类或服务接口。这种设计模式下,其他Java应用只需通过引入这个jar包,然后调用预定义的接口方法,就可以实现邮件的发送,无需关心邮件发送的具体实现细节。这样的...

    java 发送邮件 工具类

    ### Java发送邮件工具类知识点详解 #### 一、概述 在Java开发中,发送电子邮件是一项常见且实用的功能,尤其在企业级应用中更是不可或缺的一部分。本文将详细介绍如何使用Java发送邮件,并通过一个具体的示例代码...

    php 邮件发送类

    PHPMailer提供了丰富的功能,包括SMTP(Simple Mail Transfer Protocol)支持,这对于通过第三方邮件服务器发送邮件至关重要。SMTP协议是互联网标准,用于发送电子邮件。通过SMTP,PHPMailer可以确保邮件能够正确地...

    phpmail-test+php邮件发送+邮件发送demo+php邮件发送demo

    因此,在需要更强大和灵活的邮件发送功能时,开发者通常会选择使用如PHPMailer这样的第三方库。 在压缩包`phpmail_test`中,可能包含了上述的示例代码或者一个完整的测试项目,你可以解压后查看具体代码,进一步...

    javamail入门1--发送简单的文本邮件

    同时,如果遇到权限问题,确保你的邮件提供商允许使用第三方应用发送邮件。 这个简单的示例演示了如何使用 JavaMail 发送文本邮件。对于更复杂的邮件,如包含 HTML 内容、附件或嵌入图片,你可以扩展 `MimeMessage`...

    PHP邮件发送类

    - **普通邮件发送**:此方法可能接受发件人、收件人、主题和邮件内容作为参数,然后通过`mail()`函数或其他第三方库(如PHPMailer或SwiftMailer)来发送邮件。对于文本邮件,内容通常是纯文本,没有HTML格式。 - ...

    完整版php邮件发送类.zip

    为了实现这一功能,该类库可能依赖于PHP的`mail()`函数或其他第三方库,如PHPMailer或者SwiftMailer,这些库都支持SMTP协议,可以更可靠地发送带有附件的邮件。 在使用这个邮件发送类之前,你需要确保你的PHP环境...

    java + Mail组件 企业快信--短信+邮件

    这通常涉及到与第三方短信服务商的API集成。开发者需要注册获取API密钥,然后在Java代码中调用API接口,传递必要的参数如手机号码、短信内容和API密钥来发送短信。 **数据库设计与SQL Server 2000** SQL Server ...

    phpSMTP邮件发送类

    PHP本身并不内置SMTP发送邮件的功能,但我们可以借助第三方类库,如phpSMTP邮件发送类,来简化这个过程。 phpSMTP邮件发送类是一个实用的工具,它允许开发者通过SMTP协议发送邮件,而无需在服务器上进行复杂的邮件...

    jdk引入第三方jar

    "SendMail.class"可能是一个编译后的Java类,可能实现了发送电子邮件的功能,这通常需要依赖如JavaMail这样的第三方库。"MBSTimingJobs"可能是一个包含定时任务的类,可能使用了如Quartz或Spring的定时任务框架,...

    NET开发邮件发送功能的全面教程(含邮件组件源码)

    此外,为了提高邮件发送的效率和灵活性,还可以使用第三方邮件服务提供商如SendGrid、Mailgun等,它们提供了API和SDK,可以方便地集成到.NET应用中。这些服务通常提供更稳定的邮件发送、跟踪邮件状态、批量发送等...

    php monitor 发送邮件

    但`mail()`函数在某些情况下可能不够灵活,例如无法处理复杂的邮件格式或配置自定义SMTP服务器,因此开发者通常会使用第三方库,如PHPMailer或SwiftMailer。 PHPMailer是一个流行的PHP邮件发送库,它提供了丰富的...

    Python SMTP邮件发送器脚本

    - 对于某些邮件服务提供商,需要开启第三方应用访问权限或获取专用的授权码。 2. **如何添加更多附件?** - 可以使用类似的方法多次调用 `attach` 方法来添加多个附件。 3. **如何处理邮件发送失败的情况?** - ...

    安卓发送邮件

    我们可以选择`androidx.core.mail.mail`或者第三方库如` javax.mail-for-android`,这些库是专门为Android优化的,包含了发送邮件所需的核心组件。 2. **设置权限** 在AndroidManifest.xml文件中添加Internet权限...

    发送邮件需要用到的3个jar包

    总结起来,"发送邮件需要用到的3个jar包"——activation.jar、mail.jar和javax.mail-api.jar——是Java开发者处理电子邮件功能的重要工具。理解它们的功能和用法对于构建能够发送邮件的应用程序至关重要。

    phpMailer 第三方php 开源类

    **PHPMailer第三方PHP开源类详解** PHPMailer是一个广泛使用的开源PHP类库,专门设计用于简化通过PHP发送电子邮件的过程。这个库提供了丰富的功能,包括SMTP验证、附件上传、HTML邮件发送、CC与BCC设置,以及多种...

    java实现发送邮件

    在实际应用中,你可以通过模拟邮件客户端或使用第三方工具(如MailCatcher)来查看发送的邮件效果。 总之,Java Mail API 提供了一套完整的框架,帮助开发者轻松实现邮件发送功能。通过配置SMTP服务器信息、创建`...

    Spring整合Quartz定时发送邮件

    Spring-context-support-3.0.2.RELEASE.jar是Spring框架的一部分,提供了对第三方库如JavaMail的支持,使得在Spring应用中集成邮件服务变得简单。activation.jar是JavaBeans Activation Framework的JAR,用于处理...

    Asp.Net邮件发送插件

    2. **Interop.jmail.dll**:这是一个.NET Interop库,用于与非托管代码交互,尤其是与第三方邮件组件JMail进行集成。JMail是一款强大的邮件组件,它支持SMTP、POP3和IMAP协议,可以方便地在Asp.Net中发送和接收邮件...

Global site tag (gtag.js) - Google Analytics