jmail在2003上发送邮件不成功,但是在XP下同样的代码,同样的方法却不成功???
jmail在2003上发送邮件不成功,但是在XP下同样的代码,同样的方法却不成功???
是不是2003还需要怎么特殊配置么?
附代码:
================================
Dim JMail,MailServer,Flag
Set JMail=Server.CreateObject( "JMail.Message ")
If err Then
SendMail = False
response.Write( "false ")
err.clear
Exit Function
End if
JMail.Charset= "gb2312 " '邮件编码
JMail.silent=True
JMail.ContentType = "text/html " '邮件正文格式
MailServer = "smtp.163.com " '用来发送邮件的SMTP服务器
JMail.MailServerUserName = "user " '邮箱登录用户名
JMail.MailServerPassWord = "******** " '邮箱登录密码
JMail.MailDomain = "163.com " '域名(如果用 "name@domain.com "这样的用户名登录时,请指明domain.com),可选
JMail.AddRecipient MailtoAddress,MailtoName '收信人邮箱和收信人名称
JMail.Subject = Subject '主题
JMail.AppendHTML(MailBody)
JMail.FromName = FromName '发信人姓名
JMail.From = MailFrom '发信人Email
JMail.Priority = 3 '邮件等级,1为加急,3为普通,5为低级
Flag=JMail.Send(MailServer)
Response.write " <pre> " & JMail.log & " </pre> "
If Flag Then
SendMail=True
response.Write( "true ")
Else
SendMail=False
response.Write( "false2 ") |||||||||||||||||||||||此处显示错误
End If
JMail.Close
Set JMail=nothing
=========================================
在2003下,上面代码中显示错误信息: false2
如果在XP下,则可以发送邮件.
[解决办法]
我给你写了方法你试一下,希望能帮到你
public void sendEmail(String email,String content)
{
String tolistemail=email;
try
{
String title= "xxx ";
String strHost=xxx@sohu.com;
int nPort=0;
String strUserName= "xxx ";
String strPassWord= "xxx ";
String strFrom= "xxx ";
String strToList=tolistemail;
String strCCList= " ";
String strBCCList= " ";
String strSubject=title;
String strMessage=content;
//创建邮件的属性
Properties props=new Properties();
props.put( "mail.smtp.host ",strHost);
props.put( "mail.smtp.auth ", "true ");
Session MailSession=Session.getDefaultInstance(props,null);
MailSession.setDebug(true);
//创建一个消息
Message msg=new MimeMessage(MailSession);
//发件人地址
InternetAddress from=new InternetAddress(strFrom);
msg.setFrom(from);
//目标地址
if(strToList!=null&&strToList.length()> 0)
{
InternetAddress[]to={new InternetAddress(strToList)};
msg.setRecipients(Message.RecipientType.TO,to);
}
else
{
throw new Exception( "目标地址不存在! ");
}
//抄送
if(strCCList!=null&&strCCList.length()> 0)
{
InternetAddress[] cc={new InternetAddress(strCCList)};
msg.setRecipients(Message.RecipientType.CC,cc);
}
//密送
if(strBCCList!=null&&strBCCList.length()> 0)
{
InternetAddress[] bcc={new InternetAddress(strBCCList)};
msg.setRecipients(Message.RecipientType.BCC,bcc);
}
//添加邮件主题
if(strSubject!=null)
{
msg.setSubject(strSubject);
}
//添加邮件的日期
msg.setSentDate(new Date());
//添加邮件的内容
if(strMessage!=null&& strMessage.trim().length()> 0)
{
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
//设定邮件内容的类型为 text/plain 或 text/html
mbp.setContent(content, "text/html;charset=GB2312 ");
mp.addBodyPart(mbp);
msg.setContent(mp);
//msg.setText(strMessage);
}
else
{
msg.setText( "你发送的信息为空 ");
}
msg.saveChanges();
//发送邮件
int nMailPort=-1;
if(nPort> 0)
{nMailPort=nPort;}
Transport transport=MailSession.getTransport( "smtp ");
transport.connect(strHost,nMailPort,strUserName,strPassWord);
transport.sendMessage(msg,msg.getAllRecipients());
transport.close();
}
catch( AuthenticationFailedException ae)
{
ae.printStackTrace();
}
catch(SendFailedException sf)
{
Address[] invalid=sf.getInvalidAddresses();
Address[] valid=sf.getValidSentAddresses();
Address[] unsend=sf.getValidUnsentAddresses();
sf.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public String getemailaddress()
{
String address= " ";
address=getProperties( "sendaddress ");
return address;
}
public String getReciveaddress()
{
String address= " ";
address=getProperties( "reciveaddress ");
return address;
}
public String getEmailContent(String dz)
{
String content= " ";
try
{
String address=dz;
BufferedReader fileOpert=new BufferedReader(new FileReader(address));
String tempStr= " ";
while((tempStr=fileOpert.readLine())!=null)
{
content+=tempStr+ "\n ";
}
//System.out.println( "------------------------------------- ");
// System.out.println(content+ "文件的内容 ");
// FileWriter f=new FileWriter( "c:/mFile.txt ");
//BufferedWriter filew=new BufferedWriter(f);
//f.write( " ");
//f.flush();
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
return content;
}
这里的参数是发送的email地址和内容,你试试我测试了一下我这边可以.