对于SmtpClient这个类,我想查找一下它得用途,可是API里面没有,用这个类来发Mail得原理是什么啊,请高手指教,用winmail做得服务器,发现用SmtpClient发过去得邮件在,winmail不能发现发件人得mail地址,怎么回事啊,SmtpClient的原理是怎么发的呢?附:SmtpClient发Mail代码:
SmtpClient mailer = new SmtpClient(MAIL_HOST); // 设置发件人地址和收件人地址
mailer.from(from);
mailer.to(MAIL_TO); // 获得用于编写邮件其他部分的 PrintStream
java.io.PrintStream ps = mailer.startMessage(); // 编写邮件标题
ps.println("发件人: " + from);
ps.println("收件人: " + MAIL_TO);
ps.println("主题: " + subject); // 编写邮件正文
ps.print("\r\n");
ps.println(body); ps.flush();
ps.close(); //发送邮件
mailer.closeServer(); // 让用户知道邮件已发送
out.println("<html>");
out.println("<head>");
out.println("<title>发送电子邮件</title>");
out.println("<body><center>");
out.println("<h2>您的邮件已发送!</h2>");
out.println("</center></body></html>");
}
catch (Exception ex)
{
// 发送邮件时出错; 通知客户端
out.println("<html>");
out.println("<head>");
out.println("<title>发送电子邮件出错</title>");
out.println("<body><center>");
out.println("<h2>发送您的邮件时发生错误</h2>");
out.println("<br>邮件=" + ex.getMessage());
out.println("</center>");
out.println("</body></html>");
} // 封装
out.flush();
}
SmtpClient mailer = new SmtpClient(MAIL_HOST); // 设置发件人地址和收件人地址
mailer.from(from);
mailer.to(MAIL_TO); // 获得用于编写邮件其他部分的 PrintStream
java.io.PrintStream ps = mailer.startMessage(); // 编写邮件标题
ps.println("发件人: " + from);
ps.println("收件人: " + MAIL_TO);
ps.println("主题: " + subject); // 编写邮件正文
ps.print("\r\n");
ps.println(body); ps.flush();
ps.close(); //发送邮件
mailer.closeServer(); // 让用户知道邮件已发送
out.println("<html>");
out.println("<head>");
out.println("<title>发送电子邮件</title>");
out.println("<body><center>");
out.println("<h2>您的邮件已发送!</h2>");
out.println("</center></body></html>");
}
catch (Exception ex)
{
// 发送邮件时出错; 通知客户端
out.println("<html>");
out.println("<head>");
out.println("<title>发送电子邮件出错</title>");
out.println("<body><center>");
out.println("<h2>发送您的邮件时发生错误</h2>");
out.println("<br>邮件=" + ex.getMessage());
out.println("</center>");
out.println("</body></html>");
} // 封装
out.flush();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货