首页>代码>java mail邮件发送(含邮箱设置说明的)>/Email/src/send/SendAttachmentMailServlet.java
package send;

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.mail.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;


public class SendAttachmentMailServlet extends HttpServlet {
	private static final long serialVersionUID = 732051841860692986L;
	private String savePath;
	ServletContext sc;
	private Map<String, String> parameters = new HashMap<String, String>();

	public void init(ServletConfig config) {
		savePath = config.getInitParameter("savePath");
		sc = config.getServletContext();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		File file = doAttachment(request);
		EmailAttachment attachment = new EmailAttachment();		
		attachment.setPath(file.getPath());
		attachment.setDisposition(EmailAttachment.ATTACHMENT);
		attachment.setName(file.getName());
		MultiPartEmail email = new MultiPartEmail();
		email.setCharset("UTF-8");
		email.setHostName("smtp.sina.com");
		email.setAuthentication("web13", "web2013");
		try {
			email.addTo(parameters.get("to"));
			email.setFrom(parameters.get("from"));
			email.setSubject(parameters.get("subject"));
			email.setMsg(parameters.get("body"));
			email.attach(attachment);
			email.send();
			request.setAttribute("sendmail.message", "邮件发送成功!");
		} catch (EmailException e) {
			e.printStackTrace();
			request.setAttribute("sendmail.message", "邮件发送不成功!");
		}
		request.getRequestDispatcher("/sendResult.jsp").forward(request, response);
	}

	public File doAttachment(HttpServletRequest request) throws ServletException, IOException {
		File file = null;
		DiskFileItemFactory factory = new DiskFileItemFactory();
		ServletFileUpload upload = new ServletFileUpload(factory);
		try {
			List items = upload.parseRequest(request);
			Iterator itr = items.iterator();
			while (itr.hasNext()) {
				FileItem item = (FileItem) itr.next();
				if (item.isFormField()) {
					parameters.put(item.getFieldName(), item.getString("UTF-8"));
				} else {
					File tempFile = new File(item.getName());
					file = new File(sc.getRealPath("/") + savePath, tempFile.getName());
					item.write(file);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return file;
	}
}
最近下载更多
Tuxxxxx  LV3 2023年1月3日
TerryGaoBo  LV9 2021年8月16日
luesjim  LV11 2021年6月18日
shiopaaa  LV13 2021年6月8日
linhe27  LV7 2021年3月20日
wj3679  LV13 2020年12月22日
lwp011  LV27 2020年7月10日
樊樊樊樊樊樊阵雨  LV18 2020年3月3日
654874339  LV2 2020年1月17日
阿昌先生  LV13 2020年1月16日
最近浏览更多
timi123 4月5日
暂无贡献等级
hbsoft2008  LV16 2023年10月19日
luoxici 2023年5月16日
暂无贡献等级
annazhang  LV29 2023年4月7日
crosa_Don  LV18 2023年2月26日
Tuxxxxx  LV3 2023年1月3日
1358849392  LV21 2022年12月27日
heqian  LV16 2022年12月2日
w20046120 2022年9月1日
暂无贡献等级
heifenglei  LV7 2022年5月27日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友