mailaction.java

来自「简易java框架开源论坛系统,简 易java框架开源论坛系统」· Java 代码 · 共 81 行

JAVA
81
字号
package com.easyjf.bbs.action;

import java.util.Map;

import com.easyjf.bbs.business.Mail;
import com.easyjf.bbs.business.UserInfo;
import com.easyjf.bbs.business.config.BBSConfig;
import com.easyjf.util.CommUtil;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
import com.easyjf.web.tools.AbstractCmdAction;
import org.apache.commons.mail.SimpleEmail;

public class MailAction extends AbstractCmdAction {

	public Page doInit(WebForm form, Module module) {
		// TODO Auto-generated method stub
		return null;
	}

	public Page doFind(WebForm form, Module module) {
		return module.findPage("send");
	}

	public Page doSend(WebForm form, Module module) {
		String username = CommUtil.null2String(form.get("username")).trim();
		if (!"".equals(username) && username != null) {
			System.out.println(username);
			UserInfo user = UserInfo.readByUserName(username);
			boolean ret = false;
			if (user != null) {
				String password = user.getPassword();
				Map mails = BBSConfig.getInstance().getMails();
				for (int i = 0; i < mails.size(); i++) {
					try {
						SimpleEmail mail = this.mail2email((Mail) mails
								.get(new Integer(i)), username, password);
						mail.send();
						ret = true;
						break;
					} catch (Exception e) {
						System.out.println("error in sending mail");
						continue;
					}

				}
				if (ret) {
					form.addResult("msg", "密码已发送");
					return module.findPage("main");
				} else {
					form.addResult("msg", "发送失败,请联系管理员");
					return module.findPage("send");
				}
			} else {
				form.addResult("msg", "没有该注册的用户名");
				return module.findPage("send");
			}
		} else {
			form.addResult("msg", "填写注册的用户名");
			return module.findPage("send");
		}
	}

	private SimpleEmail mail2email(Mail mail, String username, String password)
			throws Exception {
		SimpleEmail email = new SimpleEmail();
		String msg = mail.getMsg();
		msg = msg.replaceAll("#username", username);
		msg = msg.replaceAll("#password", password);
		mail.setMsg(msg);
		email.setCharset(mail.getCharset());
		email.setMsg(msg);
		email.setFrom(mail.getFrom());
		email.setSubject(mail.getSubject());
		email.setHostName(mail.getHost());
		return email;
	}

}

⌨️ 快捷键说明

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