⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailsend.java

📁 这是一款最新的野蔷薇论坛源码,有需要的朋友可以尽情下载
💻 JAVA
字号:
/* 
 * Created on 2007-5-12
 * Last modified on 2007-5-12
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.service.mail;

import java.io.IOException;

import org.apache.log4j.Logger;

import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.service.model.BasicInfoModel;
import com.yeqiangwei.club.service.model.UserModel;
import com.yeqiangwei.club.service.proxy.ProxyFactory;
import com.yeqiangwei.club.service.proxy.ProxyInterface;
import com.yeqiangwei.club.service.user.FriendService;
import com.yeqiangwei.club.service.user.UserService;
import com.yeqiangwei.club.service.user.UserSettingsService;
import com.yeqiangwei.club.service.util.BasicInfoService;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.io.File;
import com.yeqiangwei.mail.Mail;
import com.yeqiangwei.mail.MailModel;
import com.yeqiangwei.mail.MailProvider;
import com.yeqiangwei.util.Validator;

public class MailSend {
	
	private static final Logger logger = Logger.getLogger(MailSend.class);
	
	public UserService userService;
	
	private String message;
	
	private Mail mail;
	
	public static void main(String args[]){
		com.yeqiangwei.club.dao.hibernate.ConnectionManager.init();
		MailInfo info = new MailInfo();
		info.setTakerUserId(95);
		info.setSenderUserId(95);
		info.setSubject("dddddddd");
		info.setContent("aaaaaaaaaaaaaaaa");
		MailSend mail = new MailSend();
		mail.send(info);
		System.out.println(mail.getMessage());
	}
	
	public boolean send(MailInfo info){
		UserModel tuser = this.getUserService().findById(info.getTakerUserId());
		UserModel suser = this.getUserService().findById(info.getSenderUserId());
		if(Validator.isEmpty(suser)||Validator.isEmpty(tuser)){
			this.setMessage("发送失败,收件人或发件人的身份不能确认!");
			return false;
		}
		byte emailFilter = this.getUserSettingsService().getUserSettingsModel(tuser.getUserId()).getEmailFilter();
		if(emailFilter==3){
			this.setMessage("发送失败,对方拒绝接收电子邮件!");
			return false;
		}
		else if(emailFilter==1){
			if(Validator.isEmpty(
					this.getFriendService()
					.findByMyUserIdAndFriendUserId(
							info.getTakerUserId()
							,info.getSenderUserId()))
			)
			{
				this.setMessage("发送失败,对方只接收好友的电子邮件!");
				return false;
			}
		}
		info.setFrom(suser.getEmailAddress());
		info.setSender(suser.getUserName());
		info.setTo(tuser.getEmailAddress());
		info.setTaker(tuser.getUserName());
		StringBuffer sb = new StringBuffer(info.getContent());
		String mailfooter = this.getMailfooter();
		if(Validator.isEmpty(mailfooter)){
			sb.append("\r\n\r\n===========================================");
			sb.append("\r\n这封邮件是");
			sb.append(info.getSender());
			sb.append("从");
			sb.append(this.getBasicInfoService().findOnly().getName());
			sb.append("发给你的\r\n邮件的回复地址是:");
			sb.append(info.getFrom());
			sb.append("\r\n");
			sb.append(this.getBasicInfoService().findOnly().getName());
			sb.append("的网址是:");
			sb.append(this.getBasicInfoService().findOnly().getUrl());
			sb.append("\r\n");
		}else{
			mailfooter = mailfooter.replace("{name}",this.getBasicInfoService().findOnly().getName());
			mailfooter = mailfooter.replace("{sender}",info.getSender());
			mailfooter = mailfooter.replace("{form}",info.getFrom());
			mailfooter = mailfooter.replace("{url}",this.getBasicInfoService().findOnly().getUrl());
			if(suser.getSex()==2){
				mailfooter = mailfooter.replace("{sex}","她");
			}else{
				mailfooter = mailfooter.replace("{sex}","他");
			}
			sb.append(mailfooter);
		}
		info.setContent(sb.toString());
		MailModel model = mailModelInit();
		BeanUtils.copyProperties(model,info);
		boolean bea = this.getMail().send(model);
		if(bea){
			this.setMessage("发送成功!");
		}else{
			this.setMessage("发送失败,请重新尝试!");
			logger.debug("to:"+model.getTo());
			logger.debug("from:"+model.getFrom());
		}		
		return bea;
	}
	
	/**
	 * 初始化 MailModel
	 * @return
	 */
	public MailModel mailModelInit(){
		MailModel model = new MailModel();
		BasicInfoModel basic = this.getBasicInfoService().findOnly();
		model.setSmtpId(basic.getSmtpId());
		model.setSmtpPassword(basic.getSmtpPassword());
		model.setSmtport(basic.getSmtpPort());
		model.setSmtpServer(basic.getSmtpServer());
		model.setNeedAuth(basic.getSmtpIsNeedPassword());
		model.setNeedSSL(basic.getSmtpIsNeedSSL());
		return model;
	}
	
	public String getMailfooter(){
		StringBuffer path = new StringBuffer();
		path.append(this.getBasicInfoService().findOnly().getSitePath());
		path.append(File.separator);
		path.append("WEB-INF");
		path.append(File.separator);
		path.append("classes");
		path.append(File.separator);
		path.append("mailfooter.txt");
		String str = "";
		try {
			str = File.readTxt(path.toString(),"UTF-8");
		} catch (IOException e) {
			logger.error(e.toString());
		}
		return str;
	}
	
	public BasicInfoService getBasicInfoService() {
		return ServiceWrapper.<BasicInfoService>getSingletonInstance(ServiceLocator.BASICINFO);
	}
	
	public UserService getUserService() {
		if(Validator.isEmpty(userService)){
			ProxyInterface proxy = ProxyFactory.getProxyInstance();
			userService = (UserService) proxy.bind(ServiceLocator.USER);
		}
		return userService;
	}
	
	public String getMessage() {
		return this.message;
	}
	
	public Mail getMail() {
		if(Validator.isEmpty(mail)){
			mail = new MailProvider();
		}
		return mail;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public FriendService getFriendService(){
		return ServiceWrapper.<FriendService>getSingletonInstance(ServiceLocator.FRIEND);
	}
	
	public UserSettingsService getUserSettingsService(){
		return ServiceWrapper.<UserSettingsService>getSingletonInstance(ServiceLocator.USERSETTINGS);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -