📄 mailsend.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 + -