linux环境下网络配置有问题,无法找到你在程序中配置的SMTP SERVER。
解决方案 »
- 从一个数据库里读取时间字段,放在不同的服务器会显示不同的字符串?
- 线程运行问题
- 求助
- 如何根据combobox的选项,将文本内容显示在文本框控件里??
- 一个通讯的小程序,好心人进来给指点一下,谢谢!
- 构造器中有很多参数,并且用户在初始化时有很多种情况,详情见内.
- j2eesdk 1.4在win2000下,如何对j2sdk的环境设置?(在线等喔!谢谢!)
- 在java中如何取得一个随机数?
- JAVA SE swing 怎么在界面上显示图片?
- 我用JBuilder编写了一个Applet,在JB环境中可以运行正常,但,用IE打开却只显示一个灰色矩形,这是为何?
- JAVA里怎样处理oracle里的long类型的字段
- java中如何判断某个应用程序是否正在运行?
javax.mail.MessagingException: 553 Your envelope sender is different from the authuser.
请问是怎么回事啊
好像是发信人要经过SMTP的身份严整
props = System.getProperties();
props.put("mail.smtp.auth","true");
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
Session mailSession = Session.getInstance(props,null);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String)props.get("mail.smtp.host"),username,password);
transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));
transport.send(mimeMsg);
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.AuthenticationFailedExceptiontransport.sendMessage
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;import yaoyao.classes.*;public class ReMail{
//邮件发送基本信息
String smtpHost="smtp.sohu.com";//发送主机
String mailFrom="[email protected]";//发件者地址
String mailUser="gelikeji";//发件者用户名
String mailPassword="44348214";//用户名密码
//邮件消息包内容
String mailTo=null;//收件者地址
String mailSubject=null;//收件者主题
String mailContent=null;//收件者内容 //设置基本信息开关
public void setMailTo(String mailTo){
this.mailTo=mailTo;
}
public void setMailSubject(String mailSubject){
this.mailSubject=mailSubject;
}
public void setMailContent(String mailContent){
this.mailContent=mailContent;
} public String getMailTo(){
return mailTo;
}
public String getMailSubject(){
return mailSubject;
}
public String getMailContent(){
return mailContent;
} public void send(){
try{
//设置java mail属性,并添入数据源
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.auth", "true");
//设置发送验证机制
Authenticator auth = new MailAuthenticator(mailUser, mailPassword);
//建立一个默认会话
Session mailSession = Session.getDefaultInstance(props, auth);
//建立消息对象,并设置有消息包内容
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(mailFrom));
//设置收件者地址
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(getMailTo()));
msg.setSubject(getMailSubject());//设置邮件的标题
//设置并处理信息内容格式转为text/html
msg.setDataHandler(new DataHandler(
new StringDataSource(getMailContent(), "text/html")));
//发送邮件
Transport.send(msg);
}catch(Exception e){}
}
}
/**
* <p>Title:SMTP发送验证 </p>
* <p>Description:发送邮件时,验证发送者是否有权发送邮件 </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author 廖伟清
* @version 1.0
*/
public class MailAuthenticator extends Authenticator{
private String name=null;//用户名
private String password=null;//用户密码 public MailAuthenticator(){}
/**
* 建立一个函数
* @param name 用户名
* @param password 用户密码
*/
public MailAuthenticator(String name, String password){
this.name=name;
this.password=password;
}
/**
* 设置用户名和密码开关
*/
public void setName(String name){
this.name=name;
}
public void setPassword(String password){
this.password=password;
}
/**
* 提供验证的用户名和密码
* @return PassworAuthentication 密码验证
*/
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(name, password);
}
}
import javax.activation.*;public class StringDataSource implements javax.activation.DataSource{
private String data;
private String type; public StringDataSource(String data, String type){
this.data=data;
this.type=type;
} public InputStream getInputStream()throws IOException {
if(data==null){
throw new IOException("Data is null");
}
return new ByteArrayInputStream(data.getBytes());
//return new StringBufferInputStream(new String(data.getBytes("iso-8859-1"), "GB2312"));
}
public OutputStream getOutputStream() throws IOException{
throw new IOException("Data is readonly");
}
public String getContentType(){
return type;
}
public String getName(){
return "StringDataSource";
}
}
是为了实现发送Html
MailAuthenticator
验证这是我初学的一个邮件转发的。尚末完善。希望对你有帮助。如果有兴趣再深入下去,
qq 50707640
我现在纳闷编码!!
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.AuthenticationFailedException
如果,你采用验证,这个属性mail.smtp.auth应该要设置为true,而且,你不只是要下载mail.jar包,还要下载jaf(java激活框架)