看了好多smtp的配置,基本都是xp,win7的有,照上面配置也不管用啊。
下面是我的java代码:
package public_use;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail {
public void initAll(){
Properties pro = System.getProperties();
pro.put("mail.host", server);
// pro.put("mail.smtp.port", port);
// pro.put("mail.smtp.auth", "true");
pro.put("mail.transport.protocol", "smtp");
Session session = Session.getDefaultInstance(pro,null);
session.setDebug(true);
Transport trans = null;
try {
trans = session.getTransport("smtp");
trans.connect(server, "binge", "6");
} catch (Exception e) {
System.out.println("111111===");
e.printStackTrace();
}
MimeMessage mes = new MimeMessage(session);
try {
mes.setFrom(new InternetAddress(server));
InternetAddress[] toAddress = new InternetAddress[1];
toAddress[0] = new InternetAddress(receiver);
mes.setRecipients(Message.RecipientType.TO, receiver);
mes.setSubject("java邮件测试");
mes.setText("这是内容啊 啊啊啊 啊啊", "gbk");
mes.saveChanges();
trans.sendMessage(mes, toAddress);
System.out.println("发送成功。。。");
} catch (Exception e) {
System.out.println("222222===");
e.printStackTrace();
}
}
public static void main(String[] args){
new SendEmail();
}
public SendEmail(){
System.out.println("正在启动发送邮件。。");
initAll();
}
private String receiver = "943366739@qq.com";
private String server = "127.0.0.1";//邮件服务器
}
下面是报错:
正在启动发送邮件。。
DEBUG: setDebug: JavaMail version 1.4.4
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "127.0.0.1", port 25, isSSL false
111111===
javax.mail.MessagingException: Could not connect to SMTP host: 127.0.0.1, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at public_use.SendEmail.initAll(SendEmail.java:22)
at public_use.SendEmail.<init>(SendEmail.java:50)
at public_use.MyListener.contextInitialized(MyListener.java:16)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
... 30 more
防火墙关了也不管用。还有,smtp里把端口改成24,这报错的端口还是25,而且停用服务是报同样的错。好像我的smtp跟没开启服务似的。
求高手大哥给解~~