Can't send to a gmail account
So I started looking at JavaMail today and came up with this.
import java.util.Properties;
import java.security.Security;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
publicclass MailClient
{
privatestaticfinal String[] recipient ={"********@gmail.com"};
publicstaticvoid main(String args[])throws Exception
{
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
new MailClient().sendMessage(recipient,"Testing","Testing123...","*******@gmail.com");
}
publicvoid sendMessage(String recipients[], String subject, String message, String from)throws MessagingException
{
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","465");
props.put("mail.smtp.socketFactory.port","465");
props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback","false");
Session session = Session.getDefaultInstance(props,new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
returnnew PasswordAuthentication("********","********");
}
});
session.setDebug(true);
Message msg =new MimeMessage(session);
InternetAddress addressFrom =new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo =new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
{
addressTo[i] =new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
msg.setSubject(subject);
msg.setContent(message,"text/plain");
Transport.send(msg);
}
}
It gives me the following debugging info and exception.
DEBUG: JavaMail version 1.4ea
DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jre1.5.0_12\lib\javamail.providers (The system cannot find the file specified)
DEBUG: URL jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/imap.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: URL jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: successfully loaded resource: jar:file:/C:/Program%20Files/Java/javamail-1.4/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jre1.5.0_12\lib\javamail.address.map (The system cannot find the file specified)
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: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 465, isSSL false
220 mx.google.com ESMTP c23sm10209667ana
DEBUG SMTP: connected to host "smtp.gmail.com", port: 465
EHLO Kyle-PC
250-mx.google.com at your service, [72.73.20.55]
250-SIZE 28311552
250-8BITMIME
250-AUTH LOGIN PLAIN
250 ENHANCEDSTATUSCODES
DEBUG SMTP: Found extension "SIZE", arg "28311552"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 VXNlcm5hbWU6
Tm8hRm9ydHJlc3M=
334 UGFzc3dvcmQ6
Tm8hRm9ydHJlc3M=
535 5.7.1 Credentials Rejected c23sm10209667ana
Exception in thread"main" javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
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 emailtest.MailClient.sendSSLMessage(MailClient.java:61)
at emailtest.MailClient.main(MailClient.java:24)
Any idea on what is going on? Thanks in advance.

