`
knight_black_bob
  • 浏览: 823429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jmail 发送 邮件 进行 密码找回

阅读更多

jmail 发送 邮件 进行 密码找回

---------------------------------------------------------------------------------------------------------------------------

 

 

 

 

package com.user.service.impl;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.apache.log4j.Logger;

import com.fusionability.user.service.EmailService;
import com.fusionability.web.bean.User;

public class EmailServiceImpl implements EmailService,InitializingBean{

	private static Logger logger = Logger.getLogger(EmailServiceImpl.class); 
	private EmailInfo emailInfo ;
	
	public class EmailInfo
	{
		public String smtpServer = "smtp.sina.com";
		public boolean smtpAuth = true;
		public String email = "knight_black_bob@sina.com";
		public String loginName = "knight_black_bob";
		public String passwd = "";
	}
	
	private MimeMessage message;
	private Session s;
	public static String KEY_SMTP = "mail.smtp.host";
	public static String KEY_PROPS = "mail.smtp.auth";
	
	
	
	private EmailService emailService;
	
	
	public void retrievePasswordEmail(User user) throws Exception{
		sendEmail(user.getUsername(), "找回密码", getRetrievePasswordEmail(user));
	}

	public void sendEmail(String mailbox, String title, String message) throws Exception
	{
		sendEmail(new String[] { mailbox }, title, message);
	}
	
	public void sendEmail(String[] mailbox, String title, String message) throws Exception
	{
		try
		{
			InternetAddress from = new InternetAddress(this.emailInfo.email);
			this.message.setFrom(from);
			// 收件人
			InternetAddress[] tos = new InternetAddress[mailbox.length];
			for (int i = 0; i < mailbox.length; i++)
				tos[i] = new InternetAddress(mailbox[i]);
			this.message.setRecipients(Message.RecipientType.TO, tos);
			// 邮件标题
			this.message.setSubject(title);
			// 邮件内容,也可以使纯文本"text/plain"
			this.message.setContent(message, "text/html;charset=GBK");
			this.message.saveChanges();
			Transport transport = s.getTransport("smtp");
			// smtp验证,就是你用来发邮件的邮箱用户名密码
			transport.connect(this.emailInfo.smtpServer, this.emailInfo.loginName, this.emailInfo.passwd);
			// 发送
			transport.sendMessage(this.message, this.message.getAllRecipients());
			transport.close();
		}
		catch (AddressException e)
		{
			logger.warn("", e);
		}
		catch (MessagingException e)
		{
			logger.warn("", e);
		}
	}
	
	private String getRetrievePasswordEmail(User user){
		StringBuffer email = new StringBuffer();
		email.append(" -.- ");
		return email.toString();
	}
	
	
//get set 
	public EmailService getEmailService() {
		emailInfo = new EmailInfo();
		return emailService;
	}
	public void setEmailService(EmailService emailService) {
		this.emailService = emailService;
	}
}

 

 

public void afterPropertiesSet() throws Exception {
		//String ec = sysConfigService.getEmailConfig();
		if (true)
		{
			//smtp.sina.com,knihgt_black_bob@sina.com,knihgt_black_bob,aaaa		
                  	//String[] ss = ec.split(",");
			this.emailInfo.smtpServer = "smtp.sina.com";
			this.emailInfo.email = "knihgt_black_bob@sina.com";
			this.emailInfo.loginName = "knihgt_black_bob";
			this.emailInfo.passwd = "aaaa";
		}
		Properties props = System.getProperties();
		props.setProperty(KEY_SMTP, this.emailInfo.smtpServer);
		props.put(KEY_PROPS, this.emailInfo.smtpAuth);
		s = Session.getInstance(props);
		message = new MimeMessage(s);
		
	}

 

 

 

 

html  邮件 格式 注意事项:

1、全局规则之一,不要写<style>标签、不要写class,所有CSS都用style属性,什么元素需要什么样式就用style写内联的CSS。

2、全局规则之二,少用图片,邮箱不会过滤你的img标签,但是系统往往会默认不载入陌生来信的图片,如果用了很多图片的邮件,在片没有载入的情况下,丑陋无比甚至看不清内容,没耐心的用户直接就删除了。图片上务必加上alt。

3、不要在style里面写float、position这些style,因为会被过滤。那么如何实现左右布局或者更复杂的布局呢?用table。

4、style内容里面background可以设置color,但是img会被过滤,就是说不能通过CSS来设置背景图片了。但是有一个很有意思的元素 属性,也叫background,里面可以定义一个图片路径,这是个不错的替代方案,虽然这样功能有限,比如无法定位背景图片了,有总比没有好。例如要给 一个单元格加一个背景,必须这样写:
<td background=”http://image1.koubei.com/images/common/logo_koubei.gif”></td>

5、div模式的邮箱不支持flash,iframe模式的有待验证。

最后提一句,sohu的邮箱很怪异,会在每个文本段后面加一个空格,导致原本正常的排版一行放不下而换行,从而使某些布局错乱。所以,如果你要兼容sohu邮箱的话,遇到一些紧凑的布局就要格外小心了,尽量减少文本段的数量,留足宽度。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

2
2
分享到:
评论

相关推荐

    用Jmail发邮件

    VC+jmail4.4组件发邮件,可以发多个附件,发邮件要密码认证

    用ASP的发送邮件 jmail邮件发送.docx

    利用asp的jmail技术来发送邮件 1.修改E_Server发送服务器地址 2.修改E_ServerUser发送邮件名称 3.修改E_ServerPass发送邮件密码 4.修改发送邮件地址E_SendManMail

    V-Jmail 在线邮件发送系统

    基于 Dimac w3 Jmail v4.3 组件的网页邮件发送系统,主要是通过邮件代发送,从而能为邮件发送者实现免密码登陆或者直接匿名发送等功能。 支持SMTP服务器发信身份验证,核心过程错误保护,对输入的信息进行客户端与...

    C#jmail邮件发送源码

    解压项目后,使用vs2008打开项目,修改web.config中的appSettings节点,配置自己的发送邮件的地址、密码及服务协议。运行即可。希望帮到需要者。 &lt;!--邮件信息发送配置--&gt; &lt;/appSettings&gt;

    C#发邮件可用jmail

    C#发邮件可用jmail。1.先安装.netJMail45_free.zip,引用安装的dll到bin文件夹下 2.发送的账号是qq邮箱,密码是邮箱账户里的开启服务: POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?) 已开启 | 关闭 3.接收是...

    Jmail发送邮件系统源码.rar

    、【邮件群发】、【添加好友】、【查看好友】、【查看邮件信息】、【查看紧急邮件】等模块组成,进入邮件发送系统后,可将全部好友的Email添加到该程序里,使发送信息时能进行多个发送,无需每人都要发送一次邮件。...

    V-Jmail 在线邮件发送系统.rar

    基于 Dimac w3 Jmail v4.3 组件的网页邮件发送系统,主要是通过邮件代发送,从而能为邮件发送者实现免密码登陆或者直接匿名发送等功能。 支持SMTP服务器发信身份验证,核心过程错误保护,对输入的信息进行客户端与...

    如何利用asp+jmail发送系统邮件

    在实际项目中常常会碰到注册会员时,通过注册时的邮箱进行会员认证操作;会员忘记密码时,也可以通过注册时的邮箱进行密码找回或重新设置;管理员也可以通过系统邮箱...我这里采用的是:asp+jmail组件发送系统邮件!

    jmail.dll在pb中的应用收发邮件

    Jmail.MailServerPassword = ls_pwd //发件邮箱用户密码 Jmail.Priority = 3 //优先级 Jmail.AddRecipient(ls_mail_to) //收件人邮箱 Jmail.Body =ls_Text + "~r~n" //邮件内容 IF Jmail.Send(ls_host) THEN //...

    Jmail发送邮件系统源码,基于asp.net开发.rar

    、【邮件群发】、【添加好友】、【查看好友】、【查看邮件信息】、【查看紧急邮件】等模块组成,进入邮件发送系统后,可将全部好友的Email添加到该程序里,使发送信息时能进行多个发送,无需每人都要发送一次邮件。...

    JMAIL邮件ASP文件

    JMAIL发邮件ASP文件,添加SMTP服务器 邮件密码即可

    asp自动发送邮件系统(Jmail)

    感谢你使用 Emanuel-Jmail 自动发送邮件系统 本系统是利用Jmail组件自动发送邮件 注意: 1.使用本系统必须先注册Jmail (双击"jmail_free.msi"注册Jmail,此组件无毒请放心使用) 2.本系统使用一个默认的邮箱账号:auto...

    JMail Visual Studio 2008 Ajax无刷新发送邮件例子

    JMail Visual Studio 2008 Ajax无刷新发送邮件例子 注意:你必须正确填写发件人的用户名及密码 建议使用QQ邮箱做为发件人,设置步骤:登陆QQ邮箱。点击左上角设置(邮箱首页右边那个)点击帐户选项卡,最下面开启...

    ASP邮件发送表单程序(jmail)1.0

    你的服务器必须安装了Jmail组件,切记,否则无法实现发送邮件;本站有下载! 2.下载本程序后,首先必须打开save.asp文件,修改里面的邮件发送配置信息--如你的发送服务器、用户名、密码等,否则无法发送; 3.可实现...

    Jmail发送邮件系统

    Jmail发送邮件系统源码,主要功能:邮件发送系统主要由【重新登录】、【邮件群发】、【添加好友】、【查看好友】、【查看邮件信息】、【查看紧急邮件】等模块组成,进入邮件发送系统后,可将全部好友的Email添加到该...

    V-Jmail 在线邮件发送系统 -ASP源码.zip

    ASP源码,压缩包解压密码:www.cqlsoft.com

    pb收发邮件实例 - mymail

    功能:pb中用mymail来进行收发邮件 说明:例子中用到了sina的邮箱,这是临时从sina网注册的,登陆用户及密码在程序里都有,大家可以直接使用, 但如果要用自己的邮箱,必须要开通pop3支持。发送邮件的发送方必须...

    jmail4.5组件

    jmail4.5用于发送邮件,一般的本地iis都没有这个组件,我用这个做了一个通过邮箱找回密码的实例,稍后上传

    asp_sendmail mail发送邮件

    JMail44发送邮件 sendmail,程序在asp技术用jmail44发送邮件,简单又快捷

    C#调用jmail.dll完整发电子邮件模块

    摘要:C#源码,网络相关,jmail.dll 一个相对完整的C#发邮件程序,调用jmail.dll组件实现的电子邮件模块,如果没有这个组件的朋友可在此页面下载:JMail 组件 v4.0,下载后请注册才能使用。  在运行程序前,请先将...

Global site tag (gtag.js) - Google Analytics