以前在自己电脑上装了一个邮件服务器,用以前的代码都可以收发。
今天准备把它和126,163,什么的连上,问题出现了,一运行就报错,晕死我了。
弄了半天原来126已经不支持SMTP/POP3了,后来弄了个QQ邮箱,并且开启了SMTP/POP3,总算发上去了。
把发送的代码发下
form:
<form action="Send" method="post" name="mail">
<table border="1" align="left">
<tr>
<td>
From:
</td>
<td>
<input name="from">secret:<input name="secret">
</td>
</tr>
<tr>
<td>
TO:
</td>
<td>
<input name="to">
</td>
</tr>
<tr>
<td>
Subject:
</td>
<td>
<input name="subject">
</td>
</tr>
<tr>
<td>
Context:
</td>
<td>
<textarea rows="10" cols="60" name="context"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit">
</td>
<td>
</tr>
</table>
</form>
servlet
package org.zzx.send;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class Send extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("gbk");
// 接收邮件类容
String from = request.getParameter("from");
String to = request.getParameter("to");
String subject = request.getParameter("subject");
String context = request.getParameter("context");
String secret = request.getParameter("secret");
// 邮件的服务器地址,邮件服务器的服务器名
String mailServerName = "smtp.qq.com";
try {
// 获得系统属性
Properties prop = System.getProperties();
// 设置属性
prop.setProperty("mail.smtp.host", mailServerName);
prop.setProperty("mail.smtp.port", "25");
prop.setProperty("mail.smtp.auth", "true");
String name=from.substring(0,from.indexOf("@"));
MyAuthenticator au = new MyAuthenticator(name,secret);
// 建立邮件发送的连接
Session session = Session.getDefaultInstance(prop, au);
System.out.println("ddddddddddddddd");
// 创建邮件信息的载体
Message message = new MimeMessage(session);
// 设置邮件相关属性
// 设置邮件发送地址
message.setFrom(new InternetAddress(from));
// 点到点的发送
message.setRecipient(Message.RecipientType.TO, new InternetAddress(
to));
// 设置邮件主题
message.setSubject(subject);
// 邮件发送时间
message.setSentDate(new Date());
// 设置邮件类容
message.setText(context);
// 关键。。。。发送
Transport.send(message);
} catch (Exception e) {
e.printStackTrace();
}
out.write("ok");
out.flush();
out.close();
}
}
Authenticator
package org.zzx.send;
import javax.mail.PasswordAuthentication;
public class MyAuthenticator extends javax.mail.Authenticator {
private String strUser;
private String strPwd;
public String getStrUser() {
return strUser;
}
public void setStrUser(String strUser) {
this.strUser = strUser;
}
public String getStrPwd() {
return strPwd;
}
public void setStrPwd(String strPwd) {
this.strPwd = strPwd;
}
public MyAuthenticator(String user, String password) {
this.strUser = user;
this.strPwd = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(strUser, strPwd);
}
}
一定要开启了SMTP/POP3,不然你再牛也发布上去
分享到:
相关推荐
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
javamail发送邮件实例 javamail 发送邮件 文本编辑器 kindeditor
此源码是使用javamail发送邮件,可以实现静默发送邮件,可以发送附件资源等。有相应的使用说明,快捷好用
javaMail
Struts2框架,javamail发送邮件,可以直接用main()调用,也可通过tomcat,在IE上运行,比较简单易懂。
JSP与JavaMail发送HTML格式... java,javamail发送html邮件..
Javamail发送邮件类库,Java发送邮件需要用到该类库
页面使用ajax上传文件,Java端采用file.Transto 来保存上传的文件,支持发送正文文本,图片,附件;图片作为附件发送,如需求图片糅合在正文文本中,只需在代码中稍加改动,有注释。
javamail发送邮件的简单实例
利用JavaMail发送邮件的实例,可以直接运行
配置好用户名密码以及SMTP服务器就可以直接运行。已包含相关jar
javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以
javamail发送、接收邮件详细教程
里面详细的介绍了JavaMail发邮件(包括单个附件和多个附件)的机制,还有JavaMail正常使用所需要的JAR包,源程序例子经过本人详细且严格的测试,大家下载下来就可以直接使用啦。
本资源是一个集合发送图片,附件,内容,HTML等得JAVAMAIL代码,并且可以同时发送多个附件多个图片,只需填充VO类,即可直接调用并发送邮件,例子已经写好,只要填充上必要值即可,经163,qq,sina测试没有问题,有...
完整的javamail发送邮件源码,直接能用
javamail 发送收取邮件
javamail 发送邮件 实例
利用JAVAMAIL实现的发送邮件的小例子
用到的两个包 mail.jar activation.jar 博文链接:https://seawavecau.iteye.com/blog/108929