是不是邮件发送服务器需要身份验证?
我这里有段程序,你可以看看:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class sendMail
{
public static void main(String args[]) throws Exception
{ String host = "smtp.sina.com.cn";
String from = "[email protected]";
String to = "[email protected]";
String username = "javamail";
String password = "password"; // Get system properties
// Properties props = System.getProperties(); 很多例子中是这样的,其实下面这句更好,可以用在applet中
Properties props = new Properties(); // Setup mail server
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true"); //这样才能通过验证 // Get session
Session session = Session.getDefaultInstance(props); // watch the mail commands go by to the mail server
session.setDebug(true); // Define message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.setSubject("Hello JavaMail");
message.setText("Welcome to JavaMail"); // Send message
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
}
我这里有段程序,你可以看看:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class sendMail
{
public static void main(String args[]) throws Exception
{ String host = "smtp.sina.com.cn";
String from = "[email protected]";
String to = "[email protected]";
String username = "javamail";
String password = "password"; // Get system properties
// Properties props = System.getProperties(); 很多例子中是这样的,其实下面这句更好,可以用在applet中
Properties props = new Properties(); // Setup mail server
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true"); //这样才能通过验证 // Get session
Session session = Session.getDefaultInstance(props); // watch the mail commands go by to the mail server
session.setDebug(true); // Define message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.setSubject("Hello JavaMail");
message.setText("Welcome to JavaMail"); // Send message
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
}
解决方案 »
- 刘行LH geronimo activemq中data文件夹不断增大只有少部分data文件被删除
- spring+ibatis 在业务逻辑层控制事务问题
- JAVA 斑马打印!急!~~~
- html表单中的password控件要怎么加密->请来看看吧
- 使用Hibernate,建大表还是小表?
- hibernate你可以去死了,鸡肋,决定弃用。
- wildfire 怎么和sql server2000相连接??谁能给个具体方法和设置啊```一直都连不上郁闷
- 怎么在webwork中扭转中设置自己的扭转常量,即实现这种自定义的扭转功能
- 请问一下:程序员第4期附带光盘 JB8 装上以后,用不了,需要输入code之类的,是不是要注册啊???
- MVC controller 无法获取到js传递的对象参数?
- 分数太多,大家共享
- 关于j2ee/ejb/jmis的学习
telnet smtphost 25
mail from: your email address
rcpt to: [email protected]
data
subject: Test
aaa
aaa
.
如果上述信息提交完后,你能在163受到邮件,说明邮件系统没有问题,仔细检查你的程序!!!
否则好好配置SMTP Server
telnet 192.x.x.x 25 后就出现了一行:
"220 hanke Microsoft ESMTP MAIL Service, Version: 5.0.2195.2966 ready at Thu, 16 Jan 2003 09:12:56 +0800"再按照老兄的指导连续输入(不会是输入一行再回车吧?):
mail from: [email protected] rcpt to: [email protected] data subject: test aaa aaa 再回车,只返回了一条信息:
"503 5.5.2 Send hello first" 再就没有任何反应了(也收不到mail).我的SMTP server应该说已给了客户端最大的权利了.老兄你的SMTP server关键处是怎么搞的呢?
最近发现很多同志在做JavaMail的应用,很欣喜。几年前我们做JavaMail和Mail Server开发的时候,真的找不到同志帮忙,很累!!!
你们做什么应用???