报错: javax.mail.MessagingException: Could not connect to SMTP host: smtp.sina.com.cn, port: 25; nested exception is: java.net.ConnectException: Connection timed out: connect at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370) at javax.mail.Service.connect(Service.java:297) at javax.mail.Service.connect(Service.java:156) at javax.mail.Service.connect(Service.java:105) at javax.mail.Transport.send0(Transport.java:168) at javax.mail.Transport.send(Transport.java:98) at javaMail.sendMail(javaMail.java:52) at javaMail.main(javaMail.java:64) Caused by: java.net.ConnectException: Connection timed out: 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:232) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1250) ... 8 more
import java.util.Properties;
import javax.servlet.*; //此句报错误的话请注释
import javax.mail.Session;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.Message;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;
import javax.mail.Transport;
public class javaMail {
private Properties properties;
private Session mailSession;
private MimeMessage mailMessage;
private Transport trans;
public javaMail() {
}
public void sendMail() {
try {
properties = new Properties();
//设置邮件服务器
properties.put("mail.smtp.host", "smtp.sina.com");
//验证
properties.put("mail.smtp.auth", "true");
//根据属性新建一个邮件会话
mailSession = Session.getInstance(properties,
new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]",
"*******");
}
});
mailSession.setDebug(true);
//建立消息对象
mailMessage = new MimeMessage(mailSession);
//发件人
mailMessage.setFrom(new InternetAddress("[email protected]"));
//收件人
mailMessage.setRecipient(MimeMessage.RecipientType.TO,
new InternetAddress("[email protected]"));
//主题
mailMessage.setSubject("测试");
//内容
mailMessage.setText("test");
//发信时间
mailMessage.setSentDate(new Date());
//存储信息
mailMessage.saveChanges();
//
trans = mailSession.getTransport("smtp");
//发送
trans.send(mailMessage);
} catch (Exception e) {
e.printStackTrace();
} finally {
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
javaMail javaMail=new javaMail();
javaMail.sendMail();
}
}
org.apache.commons.mail.HtmlEmail;public void doSendMail(String emailTitle, String sendFrom, String password,
String sendTo, String emailBody) {
HtmlEmail email = new HtmlEmail();
email.setHostName("smtp.126.com");
email.setAuthentication(sendFrom, password);
try {
email.addTo(sendTo);
email.setFrom(sendFrom);
// *********************************
// email.setSSL(true);
// email.setSslSmtpPort("465");
// *********************************
email.setSubject(emailTitle);
email.setCharset("gb2312");
email.setHtmlMsg(emailBody);
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
}恩,差不多了。这是126的。。别的也可以。。改改hostName.port...
public class MailSendFactory
{
private String username;
private String password;
private String smtpServer;
private String fromMailAddress; private static MailSendFactory instance; private MailSendFactory()
{
init();
} private void init()
{
username = ******;
password = ******;
smtpServer = ******;
fromMailAddress = ******;
} public static MailSendFactory getInstance()
{
if (instance == null)
{
instance = new MailSendFactory();
}
return instance;
} public void sendMail(InternetAddress[] addrTo, InternetAddress[] addrCC,
InternetAddress[] addrBCC, String subject, String content,
ArrayList<File> lstAttach) throws AddressException,
MessagingException
{
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", smtpServer);
// 获得邮件会话对象
Session session = Session.getDefaultInstance(props, new Authenticator()
{
public PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(username, password);
}
});
MimeMessage mimeMsg = new MimeMessage(session); // 创建MIME邮件对象 mimeMsg.setFrom(new InternetAddress(fromMailAddress));// 发件人
if (addrTo.length > 0)
{
mimeMsg.setRecipients(Message.RecipientType.TO, addrTo);// 收件人
}
if (addrCC.length > 0)
{
mimeMsg.setRecipients(Message.RecipientType.CC, addrCC);// 抄送
}
if (addrBCC.length > 0)
{
mimeMsg.setRecipients(Message.RecipientType.BCC, addrBCC);// 暗送
}
mimeMsg.setSubject(subject);// 主题
mimeMsg.setSentDate(new Date());// 发送日期 // 正文
Multipart mp = new MimeMultipart();
BodyPart bp = new MimeBodyPart();
bp.setContent("" + content, "text/html;charset=GB2312");
mp.addBodyPart(bp);
// 附件
if (lstAttach.size() > 0)
{
for (File file : lstAttach)
{
BodyPart bpAttach = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(file);
bpAttach.setDataHandler(new DataHandler(fileds));
bpAttach.setFileName(fileds.getName());
mp.addBodyPart(bpAttach);
}
}
mimeMsg.setContent(mp);
mimeMsg.saveChanges(); Transport.send(mimeMsg);
}
}
你当时VS安装程序啊
大小:319 KB (327,603 字节)
占用空间:320 KB (327,680 字节)
最多是服务器,我想才会有这么大。我说你才要谦虚点才行。
LZ可以去下~
咋的,写错个单位了嘛,至于你那个没素质的语气么?
还有从你上面贴的代码看,水平比较菜,不服气?
报错:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.sina.com.cn, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
at javax.mail.Service.connect(Service.java:297)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at javaMail.sendMail(javaMail.java:52)
at javaMail.main(javaMail.java:64)
Caused by: java.net.ConnectException: Connection timed out: 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:232)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1250)
... 8 more
但是要确保你的Email邮箱开通pop,smtp服务