当前位置: 技术问答>java相关
求助!关于注册后系统自动发邮件告诉用户密码的问题?谢谢大家!!
来源: 互联网 发布时间:2015-09-20
本文导语: 我自己写了各发邮件的类,但是出现一个很奇怪的问题,我用别人的邮箱发信到我的邮箱中,我就能收到。但是用我的邮箱发信给别人的话就出现发送失败的现象,这是什么原因呢?请大家帮帮我! 我的程序如下:...
我自己写了各发邮件的类,但是出现一个很奇怪的问题,我用别人的邮箱发信到我的邮箱中,我就能收到。但是用我的邮箱发信给别人的话就出现发送失败的现象,这是什么原因呢?请大家帮帮我!
我的程序如下:
----------------------------------------------------------
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
/**
*
*
*
*
* @author unascribed
* @version 1.0
*/
public class SendSimpleMail {
//定义信件的正文内容
static String msgText = "感谢您注册本网站";
public SendSimpleMail() {
}
public static void main() throws Exception{
// PrintWriter out = response.getWriter();
try{
String smtpHost = "mail.dingtech.com.cn"; //设置smtp服务器名
String pop3Host = "mail.dingtech.com.cn";
String from = "spring.shen@dingtech.com.cn"; //设置发信人地址
String to = "spring.shen@dingtech.com.cn"; //设置收信人地址
//创建properties对象
Properties props = new Properties();
//创建邮件服务器
props.put("mail.smtp.host",smtpHost);
props.put("mail.host",pop3Host);
props.put("mail.protocol","pop3");
//取得默认session
Session session = Session.getDefaultInstance(props,null);
//创建一条信息并定义收信人地址和发信人地址
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
message.setRecipients(Message.RecipientType.TO,address);
//设定主题
message.setSubject("您注册的初始密码!");
//设定发送时间
message.setSentDate(new Date());
//将前面定义的msgText文字设定为信件的正文
message.setText(msgText);
// 发送邮件
Transport transport;
transport = session.getTransport("smtp");
transport.send(message);
}catch(Exception e){
// out.println("an error about:"+e.getMessage());
}
}
}
我的程序如下:
----------------------------------------------------------
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
/**
*
Title:
*
Description:
*
Copyright: Copyright (c) 2002
*
Company:
* @author unascribed
* @version 1.0
*/
public class SendSimpleMail {
//定义信件的正文内容
static String msgText = "感谢您注册本网站";
public SendSimpleMail() {
}
public static void main() throws Exception{
// PrintWriter out = response.getWriter();
try{
String smtpHost = "mail.dingtech.com.cn"; //设置smtp服务器名
String pop3Host = "mail.dingtech.com.cn";
String from = "spring.shen@dingtech.com.cn"; //设置发信人地址
String to = "spring.shen@dingtech.com.cn"; //设置收信人地址
//创建properties对象
Properties props = new Properties();
//创建邮件服务器
props.put("mail.smtp.host",smtpHost);
props.put("mail.host",pop3Host);
props.put("mail.protocol","pop3");
//取得默认session
Session session = Session.getDefaultInstance(props,null);
//创建一条信息并定义收信人地址和发信人地址
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
message.setRecipients(Message.RecipientType.TO,address);
//设定主题
message.setSubject("您注册的初始密码!");
//设定发送时间
message.setSentDate(new Date());
//将前面定义的msgText文字设定为信件的正文
message.setText(msgText);
// 发送邮件
Transport transport;
transport = session.getTransport("smtp");
transport.send(message);
}catch(Exception e){
// out.println("an error about:"+e.getMessage());
}
}
}
|
你的程序用别人的信箱能成功?你说的是from添别人的信箱,还是smtphost用别人的ip?我认为你的程序都不能用。现在的smtp服务器都需要认证,而你的程序没提供密码,所以认证戳错。你可以到文档中心看一下,里面有一篇用javamail发信的源程序,很好的!!!