我是靠谱客的博主 精明星星,最近开发中收集的这篇文章主要介绍java gmail邮箱,使用Java和Gmail发送邮件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

I wanto to send a e-mail with an calendar attachment javaxmail and I created this class:

public void sendEmail(String to, Calendar calendar) {

try {

String d_uname = "myaccount@gmail.com";

String d_password = "mypassword";

String d_host = "smtp.gmail.com";

String d_port = "587";//465,587

String from = "antonitocea@gmail.com";

String subject = "Subject";

String bodyText = "Body";

Properties prop = new Properties();

//prop.setProperty("mail.smtp.auth", "true");

prop.setProperty("mail.smtp.host", "smtp.gmail.com");

prop.setProperty("mail.smtp.protocol", "smtps");

prop.setProperty("mail.smtp.starttls.enable", "true");

prop.setProperty("mail.smtp.ssl.enable", "true");

prop.setProperty("mail.smtp.port",d_port);

prop.setProperty("mail.smtp.user", d_uname);

Session session = Session.getDefaultInstance(prop, null);

// Define message

session.setDebug(true);

MimeMessage message = new MimeMessage(session);

message.addHeaderLine("method=REQUEST");

message.addHeaderLine("charset=UTF-8");

message.addHeaderLine("component=VEVENT");

message.setFrom(new InternetAddress(from));

message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

message.setSubject("Outlook Meeting Request Using JavaMail");

StringBuffer sb = new StringBuffer();

StringBuffer buffer = sb.append(calendar.toString());

// Create the message part

BodyPart messageBodyPart = new MimeBodyPart();

// Fill the message

messageBodyPart.setHeader("Content-Class", "urn:content-classes:calendarmessage");

messageBodyPart.setHeader("Content-ID","calendar_message");

messageBodyPart.setDataHandler(new DataHandler(

new ByteArrayDataSource(buffer.toString(), "text/calendar")));//very important

// Create a Multipart

Multipart multipart = new MimeMultipart();

// Add part one

multipart.addBodyPart(messageBodyPart);

Transport t = session.getTransport("smtp");

t.connect(d_host, 587, d_uname, d_password);

// Put parts in message

message.setContent(multipart);

// send message

t.send(message);

} catch (MessagingException me) {

me.printStackTrace();

} catch (Exception ex) {

ex.printStackTrace();

}

}

It seems ok, but, when I try to send, the console shows this error:

DEBUG: setDebug: JavaMail version 1.4ea

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]

DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;

nested exception is:

java.net.SocketException: Permission denied: connect

Can someone help me? Thanks in advance!!

解决方案

Use the below code.

public void sendTemplateEmail() {

Properties props = new Properties();

props.put("mail.smtp.host", "smtp.gmail.com");

props.put("mail.smtp.auth", "true");

props.put("mail.debug", "true");

props.put("mail.smtp.port", 25);

props.put("mail.smtp.socketFactory.port", 25);

props.put("mail.smtp.starttls.enable", "true");

props.put("mail.transport.protocol", "smtp");

Session mailSession = null;

mailSession = Session.getInstance(props,

new javax.mail.Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication("", "");

}

});

try {

Transport transport = mailSession.getTransport();

MimeMessage message = new MimeMessage(mailSession);

message.setSubject("Sample Subject");

message.setFrom(new InternetAddress("Sample@sample.com"));

String []to = new String[]{"Sample2gmail.com"};

message.addRecipient(Message.RecipientType.TO, new InternetAddress(to[0]));

String body = "Sample text";

message.setContent(body,"text/html");

transport.connect();

transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));

transport.close();

} catch (Exception exception) {

}

}

Replace all the from and to email addresses and the and in the above code.

最后

以上就是精明星星为你收集整理的java gmail邮箱,使用Java和Gmail发送邮件的全部内容,希望文章能够帮你解决java gmail邮箱,使用Java和Gmail发送邮件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部