无法在java中发送电子邮件 [英] Not able to send email in java
本文介绍了无法在java中发送电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用gmail服务器在java中发送邮件时发生无法连接到smtp主机的错误。以下是代码和错误:
----------------------------------- ----------------------------------
When sending mail in java using gmail server error is occurring that "could not connect to smtp host". Below is the code and error:
---------------------------------------------------------------------
package p1;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
*
* @author abc
*/
public class SendMail
{
public static boolean sender(String from,String password,String message,String to[])
{
String host ="smtp.gmail.com";
Properties pro = System.getProperties();
pro.put("mail.smtp.starttls.enable","true");
pro.put("mail.smtp.host",host);
pro.put("mail.smtp.user",from);
pro.put("mail.smtp.password",password);
pro.put("mail.smtp.port",465);
pro.put("mail.smtp.auth","true");
Session session = Session.getDefaultInstance(pro,null);
MimeMessage mimemessage =new MimeMessage(session);
try
{
mimemessage.setFrom(new InternetAddress(from));
//noe get the address of ricipents
InternetAddress[] toAddress = new InternetAddress[to.length];
for (int i = 0; i <to.length; i++)
{
toAddress[i] = new InternetAddress(to[i]);
}
//now add the all toaddress elements
for (int j = 0; j <toAddress.length; j++)
{
mimemessage.addRecipient(RecipientType.TO, toAddress[j]);
} //add subject
mimemessage.setSubject("My name is jay");
// set message to mimee message
mimemessage.setText(message);
Transport transport = session.getTransport("smtp");
transport.connect(host,from,password);
transport.sendMessage(mimemessage, mimemessage.getAllRecipients());
System.out.println("8888888888888");
transport.close();
return true;
}
catch(Exception e)// genrate MessagingException
{
e.printStackTrace();
}
return false;
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package p1;
/**
*
* @author abc
*/
public class EmailDemo {
public static void main(String[] args) {
String[] to={"jayspatel27@gmail.com","sanjayhpatel3@gmail.com"};
if( SendMail.sender("jayspatel27@gmail.com", "9426841090", "message to ecipents ", to))
{
System.out.println("Success");}
else
{
System.out.println("enter proper detail");
}
}
}
-------- ----------------------------------
错误: -
---------------------------------------------
------------------------------------------
error:-
---------------------------------------------
run:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
enter proper detail
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at p1.SendMail.sender(SendMail.java:61)
at p1.EmailDemo.main(EmailDemo.java:14)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
... 5 more
BUILD SUCCESSFUL (total time: 22 seconds)
推荐答案
你能来吗?尝试使用端口25,因为它可以是端口问题
Can you try using port 25 as it can be port issue
这篇关于无法在java中发送电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文