Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Apache Commons电子邮件库以Java发送电子邮件_Java_Email_Smtp_Gmail_Apache Commons Email - Fatal编程技术网

使用Apache Commons电子邮件库以Java发送电子邮件

使用Apache Commons电子邮件库以Java发送电子邮件,java,email,smtp,gmail,apache-commons-email,Java,Email,Smtp,Gmail,Apache Commons Email,我正在使用Apache Commons电子邮件库发送电子邮件,但无法通过GMail SMTP服务器发送电子邮件。 有人能提供与GMail SMTP服务器和其他服务器一起使用的示例代码吗 我正在使用以下不起作用的代码: String[] recipients = {"receiver@gmail.com"}; SimpleEmail email = new SimpleEmail(); email.setHostName("smtp.gmail.com"); email.setAuthentic

我正在使用Apache Commons电子邮件库发送电子邮件,但无法通过GMail SMTP服务器发送电子邮件。
有人能提供与GMail SMTP服务器和其他服务器一起使用的示例代码吗

我正在使用以下不起作用的代码:

String[] recipients = {"receiver@gmail.com"};

SimpleEmail email = new SimpleEmail();
email.setHostName("smtp.gmail.com");
email.setAuthentication("sender@gmail.com", "mypasswd");
email.setDebug(true);
email.setSmtpPort(465);

for (int i = 0; i < recipients.length; i++)
{
    email.addTo(recipients[i]);
}

email.setFrom("sender@gmail.com", "Me");
email.setSubject("Test message");
email.setMsg("This is a simple test of commons-email");
email.send();
String[]收件人={”receiver@gmail.com"};
SimpleMail电子邮件=新建SimpleMail();
email.setHostName(“smtp.gmail.com”);
email.setAuthentication(“sender@gmail.com“,”mypasswd“);
email.setDebug(true);
电邮:setSmtpPort(465);
for(int i=0;i
向GMail SMTP服务器发送电子邮件需要身份验证和SSL。用户名和密码非常简单。确保设置了以下属性以启用身份验证和SSL,并且它应该可以工作

mail.smtp.auth=true
mail.smtp.starttls.enable=true
在示例代码中,将以下内容添加到已启用的TLS

对于API版本<1.3,请使用:
email.setTSL(true)

对于>=1.3版本,不推荐使用该方法,而应使用:
email.setStartLSEnabled(true)

使用commons.email对我很有用

HtmlEmail email = new HtmlEmail();
email.setHostName("smtp.gmail.com");
email.setSmtpPort(465);
email.setSSL(true);

请在下面找到一个有效的代码。显然,您必须将apachejar添加到项目的构建路径中

public static void sendSimpleMail() throws Exception {
    Email email = new SimpleEmail();
    email.setSmtpPort(587);
    email.setAuthenticator(new DefaultAuthenticator("your gmail username",
            "your gmail password"));
    email.setDebug(false);
    email.setHostName("smtp.gmail.com");
    email.setFrom("me@gmail.com");
    email.setSubject("Hi");
    email.setMsg("This is a test mail ... :-)");
    email.addTo("you@gmail.com");
    email.setTLS(true);
    email.send();
    System.out.println("Mail sent!");
}
问候,, 塞尔古