最近在学习javaMail,可是有一个问题让我很是奇怪,message.setForm()方法里面的InternetAddress总是必须和我连接smtp服务器用的用户名要一样,不然就发送不出去,如果不设置message的setForm在Transport里面设置,或者setForm里面填写其他地址,邮件就都发送不出去,而且没有错误提示!
各位大侠可以指点我一下吗?public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.setProperty("mail.debug", "true"); //输出debug信息
props.setProperty("mail.transport.protocol","smtp"); //协议
props.setProperty("mail.auth", "true"); //用户验证
Session session =Session.getInstance(props); // 创建Session
String date = DateFormat.getTimeInstance().format(new Date(System.currentTimeMillis())); //区分标示作用
Message message = new MimeMessage(session); // 创建邮件体
message.setText("路遥知马力!"); //邮件内容:简单的
message.setSubject("javaMial" + date ); //邮件主题
message.setFrom(new InternetAddress("[email protected]")); //发件人(这里好像要和connect()里面的user要相同???)
Transport transport = session.getTransport(); //创建发送器
transport.connect("smtp.qq.com", 25, "862123204", "password"); //连接smtp服务器,准备发送
transport.sendMessage(message, new Address[]{new InternetAddress("[email protected]"),new InternetAddress("[email protected]")});
transport.close(); //关闭资源
各位大侠可以指点我一下吗?public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.setProperty("mail.debug", "true"); //输出debug信息
props.setProperty("mail.transport.protocol","smtp"); //协议
props.setProperty("mail.auth", "true"); //用户验证
Session session =Session.getInstance(props); // 创建Session
String date = DateFormat.getTimeInstance().format(new Date(System.currentTimeMillis())); //区分标示作用
Message message = new MimeMessage(session); // 创建邮件体
message.setText("路遥知马力!"); //邮件内容:简单的
message.setSubject("javaMial" + date ); //邮件主题
message.setFrom(new InternetAddress("[email protected]")); //发件人(这里好像要和connect()里面的user要相同???)
Transport transport = session.getTransport(); //创建发送器
transport.connect("smtp.qq.com", 25, "862123204", "password"); //连接smtp服务器,准备发送
transport.sendMessage(message, new Address[]{new InternetAddress("[email protected]"),new InternetAddress("[email protected]")});
transport.close(); //关闭资源
比如你是用smtp.163.com 的,你登录的时候是用[email protected]
但是你在setFrom时可以换成其他的163的邮箱(如[email protected])
我记得以前试过,你试试看现在能不能行了