`

java由gmail或者163邮箱发送

阅读更多
package com.piend.sqlserver.email;

// Copyright YiFan SoftWare

import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
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.MimeUtility;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;

public class EMailUtil {
	/**
	 * 发信人信息
	 */
	// 发信人的地址
	private String fromAdress = "tccl0909163_com@163.com";
	// SMTP邮件服务器的登陆账号密码
	private String password = "tc19880909";
	// 邮件服务器的地址 smtp.163.com
	private String smtpAddress = "smtp.163.com";
	// SMTP服务器端口号
	private String port = "25";
	// SMTP邮件协议
	private String protocol = "smtp";
	/**
	 * 收信人信息
	 */
	// 收信人的地址
	private String toAddress = "642541942@qq.com";
	// 邮件的主题
	private String subject;
	// 发送时间
	private Date sendDate = new Date();
	// 邮件内容
	private String content;

	public static void main(String[] args) {
		EMailUtil eutil = new EMailUtil();
		eutil.setSmtpAddress("smtp.gmail.com");
		eutil.setFromAdress("tangguolong99@gmail.com");
		eutil.setPassword("guolong19880909");
		eutil.setPort("465");
		eutil.setSubject("刘德华演唱会");
		eutil.setContent("12333444444444444444444444444444444444444444444444444444444444444444");
		eutil.sendEmail();
	}

	public void setFromAdress(String fromAdress) {
		this.fromAdress = fromAdress;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public void setToAddress(String toAddress) {
		this.toAddress = toAddress;
	}

	public void setSmtpAddress(String smtpAddress) {
		this.smtpAddress = smtpAddress;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public void setPort(String port) {
		this.port = port;
	}

	public void setProtocol(String protocol) {
		this.protocol = protocol;
	}

	/**
	 * 
	 * 发送邮件
	 * 
	 */
	public void sendEmail() {
		Properties props = new Properties();
		// 指定邮件传输协议
		props.setProperty("mail.transport.protocol", this.protocol);
		// 指定smtp服务器地址
		props.setProperty("mail.smtp.host", this.smtpAddress);
		// 指定smtp服务器端口
		props.setProperty("mail.stmp.port", this.port);
		// 是否验证
		props.setProperty("mail.smtp.auth", "true");
		props.put("mail.debug", "false");
		// gmail发送
		if ("smtp.gmail.com".equals(this.smtpAddress)) {
			props.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
			props.setProperty("mail.smtp.socketFactory.fallback", "false");
			props.setProperty("mail.smtp.socketFactory.port", "465");
		}
		try {
			// c创建会话
			Session session = Session.getInstance(props);
			// 构建邮件体
			MimeMessage mime = new MimeMessage(session);
			// 创建邮件信息
			mime.setFrom(new InternetAddress(this.fromAdress));
			mime.setRecipients(RecipientType.TO, InternetAddress.parse(this.toAddress));
			mime.setSubject(this.subject);
			mime.setSentDate(this.sendDate);
			MimeMultipart body = new MimeMultipart("mixed");//related
			// 创建文本
			MimeBodyPart html = new MimeBodyPart();
			html.setHeader("Content-Transfer-Encoding", "base64");
			html.setContent(this.content, "text/html;charset=UTF-8");
			// 添加附件
			//FileDataSource fileds = new FileDataSource("D:\\11.txt");
			//FileDataSource fileds = new FileDataSource("D:\\11.txt");
			//html.setDataHandler(new DataHandler(fileds));
			//html.setFileName(MimeUtility.encodeWord(fileds.getName(),"GB2312",null));//设置附件文件名
			body.addBodyPart(html);
			
			mime.setContent(body);
			mime.saveChanges();
			Transport trans = session.getTransport();
			// 用户与密码
			trans.connect(this.smtpAddress, this.fromAdress, this.password);
			trans.sendMessage(mime, mime.getAllRecipients());
			trans.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static String getUrl(String email) {

		String result = null;
		String[] emailurl = { "http://mail.yeah.net", "www.gmail.com",
				"http://mail.sohu.com/", "http://mail.sogou.com/",
				"mail.foxmail.com", "http://mail.qq.com/",
				"http://www.56.com/home.html", "http://mail.cn.yahoo.com/?cns",
				"http://mail.sina.com.cn/", "http://mail.hexun.com/",
				"http://login.live.com/", "http://email.163.com/",
				"http://mail.126.com/", "http://172.16.10.33:6080/index.php" };
		String str = email.substring(email.indexOf("@") + 1, email
				.lastIndexOf("."));
		for (int i = 0; i < emailurl.length; i++) {
			if (emailurl[i].indexOf(str) != -1) {
				result = emailurl[i];
				break;
			}
		}
		if (result == null) {
			result = emailurl[emailurl.length - 1];
		}
		return result;
	}
}

 

分享到:
评论

相关推荐

    java实现发送邮件,注册邮件激活账户

    这里以Gmail为例,如果你使用的是其他邮箱服务商,如QQ邮箱或网易163邮箱,相应的SMTP服务器和端口可能会有所不同,需要查阅对应邮箱服务商的文档。 然后,我们需要一个`Session`对象,它会使用我们之前设置的属性...

    java mail 邮件发送

    【Java Mail邮件发送详解】 Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java应用中实现邮件发送功能,Java Mail 提供了全面的支持,包括发送文本邮件、HTML邮件...

    java邮件发送

    Java邮件发送是一个常见的任务,尤其在自动化通知、订阅服务或者数据报告等场景中。Java提供了多种库来实现这个功能,其中最常用的是JavaMail API。本文将深入探讨如何使用JavaMail API来发送邮件,以及涉及的相关...

    用java代码发邮件,真是牛啊,可群发,也可发附件

    在本文中,我们将深入探讨如何使用Java代码实现邮件发送,包括群发和添加附件的功能。 首先,要实现这个功能,我们需要引入JavaMail API,这是一个开源库,提供了处理电子邮件所需的所有接口和类。在Eclipse开发...

    javaweb个人简单发送邮件封装包

    比如Gmail通常使用`smtp.gmail.com`,而163邮箱则可能是`smtp.163.com`。端口号也可能不同,一些服务商可能需要使用SSL/TLS加密连接,因此需要设置`mail.smtp.starttls.enable`为`true`。 总的来说,这个"javaweb...

    自动发送邮件包

    在这个案例中,该包提及了支持163邮箱和gmail邮箱,这意味着它可能集成了这两种主流邮件服务的SMTP(Simple Mail Transfer Protocol)协议。SMTP是互联网上传输电子邮件的标准协议,允许程序模拟用户行为发送邮件。 ...

    Java实现带附件的邮件发送功能

    其次,需要设置相关邮箱服务器,例如QQ邮箱、163邮箱、Gmail邮箱等。在设置邮箱服务器时,需要开启相关服务,并生成授权码。在本例中,我们使用的是QQ邮箱,需要在QQ邮箱设置页面开启SMTP服务,并生成授权码。 下面...

    android邮件发送客户端代码

    在本例中,我们将关注如何实现一个能够利用Gmail、163和QQ邮箱服务进行邮件发送的客户端代码。这个客户端应该能够处理各种SMTP服务器的配置,以支持不同的邮件提供商。 首先,我们需要在Android项目中引入必要的库...

    JAVA实现找回密码功能详解。

    公众邮箱指的是常用的免费邮箱(sina、sohu、qq、139、Gmail 等),尚邮已对这些常见邮箱进行了配置,因此在绑定时只需填写基础信息即可。 在选择公众邮箱时,我们需要注意邮箱登录名的填写。邮箱登录名通常是邮箱...

    通用发送邮件的jar包

    总的来说,这个"通用发送邮件的jar包"为Java开发者提供了一个便捷的途径来实现跨平台的邮件发送功能,覆盖了多种主流邮箱服务。通过理解JavaMail API的基本工作原理和使用方法,开发者可以轻松地集成到自己的项目中...

    封装好的java邮件包

    封装好的java邮件包,代码调用示例 public static void main(String[] args) throws Exception { FinderSendMail sendMail; MailInfo mailInfo =new MailInfo(); mailInfo.setTitle("test title"); mailInfo.set...

    使用Java发送邮件(JavaMail的使用)

    JavaMail API 提供了一种方便的机制来处理邮件发送和接收,使得开发者能够轻松地集成邮件功能到他们的Java应用程序中。 ### 邮箱相关的概念 - **邮件**:电子信件,是通过互联网或其他电子通信网络传递的信息。 - ...

    Java使用JavaMail发送邮件的方法

    实际应用中,你需要替换`Email_Autherticator`类中的用户名和密码为你自己的邮箱账户信息,并根据你的邮件服务商设置正确的SMTP主机名(例如,`smtp.gmail.com`对于Gmail,`smtp.163.com`对于网易163邮箱等)。...

    jbpm发送邮件

    在jbpm中集成邮件发送功能,能够帮助系统自动触发通知,提高工作效率,例如提醒用户处理任务或者报告流程状态。在这个场景中,我们讨论的是如何在jbpm环境中配置并使用邮件服务。 首先,我们需要理解jbpm是如何配置...

    javaMail 发送邮件

    这个例子专注于通过JavaMail发送163邮箱的邮件,但原理适用于其他邮箱服务,只需进行适当的配置调整。下面我们将详细探讨JavaMail的核心概念、如何配置以及如何实现邮件发送。 1. **JavaMail API介绍** JavaMail ...

    JAVA Web程序设计-3期(KC006) 13-1-2应用JavaMail组件发送邮件的操作步骤.doc

    这不仅加深了对JavaMail组件的理解,还为我们实际开发中集成邮件发送功能提供了参考模板。需要注意的是,在实际项目中可能还需要考虑更多的异常处理和安全性问题,例如密码验证、连接超时等问题。此外,还可以进一步...

    java邮件发送简单实现代码

    Java邮件发送功能是Java开发中常见的一种需求,用于发送通知、验证码、报告等。在Java中,我们可以使用Java Mail API来实现邮件的发送。本文将详细介绍如何使用Java Mail API发送邮件,以及解决可能出现的问题。 ...

    java随机生成用户名(qq、手机、邮箱、虚拟姓名等格式用户名)

    zhant@gmail.com 29016 zhux1969 xiez1113 zhengtw 15490897758 18917969768 18149215132 18608279756 17149 18644736737 zhaov19880816 xuy@aol.com 5854142 18408454618 qinl1988 xubl1990 18852302621 ...

    邮件客户机

    SMTP服务器地址通常由"smtp"加上邮箱域名组成,例如对于163邮箱,就是smtp.163.com,端口通常是25。在发送邮件前,需要对发送方的邮箱用户名和密码进行Base64编码,以确保安全传输。以下是一个验证发件人邮箱用户名...

    mail邮件类,简单易用

    在实际项目中,根据业务需求,还可以进一步扩展此类,例如增加邮件队列功能,提高邮件发送效率,或者添加邮件模板支持,以实现个性化邮件发送。 在压缩包中的`mail`文件,可能是这个邮件类的源代码,包含了类定义、...

Global site tag (gtag.js) - Google Analytics