Gmailアドレスを使用して送信および電子メールを送信しようとしています. debug を true に設定すると、これが得られます。
DEBUG: JavaMail version 1.4.1
DEBUG: not loading file: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javamail.providers
DEBUG: java.io.FileNotFoundException: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javamail.providers (No such file or directory)
DEBUG: !anyLoaded
DEBUG: not loading resource: /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 Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: !anyLoaded
DEBUG: not loading resource: /META-INF/javamail.address.map
DEBUG: not loading file: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javamail.address.map
DEBUG: java.io.FileNotFoundException: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javamail.address.map (No such file or directory)
DEBUG: setDebug: JavaMail version 1.4.1
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 465, isSSL true
そして、私は何もしません。エラー/警告/....はありません。
私はこれらの設定を使用しています:
mail.smtp.auth=true
mail.debug=true
mail.smtp.host=smtp.gmail.com
mail.smtp.user=MyOwnUserName@gmail.com
mail.smtp.password=MyOwnPassword
mail.transport.protocol=smtp
mail.smtp.port=465
mail.disable=false
mail.verbose=true
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
私はこれらの例を試しました:
すべて同じ問題。そして、パスワードとメールアドレスが正しいことを 100% 確信しています。
編集: 私のコード (最初のリンクと同じ) nitialContext ic = new InitialContext(); セッション セッション = (セッション) ic.lookup("mail/SugarCRMMailSession");
Properties props = session.getProperties();
String to = emailID;
String mailhost = props.getProperty("mail.smtp.host");
String user = props.getProperty("mail.smtp.user");
String password = props.getProperty("mail.smtp.password");
String protocol = props.getProperty("mail.transport.protocol");
String authorization = props.getProperty("mail.smtp.auth");
String mailDisabled = props.getProperty("mail.disable");
String verboseProp = props.getProperty("mail.verbose");
String debugProp = props.getProperty("mail.debug");
boolean sentDisabled = false;
if(mailDisabled.equals("true"))
sentDisabled = true;
if(!sentDisabled){
boolean auth = false;
if(authorization.equals("true"))
auth = true;
boolean verbose = false;
if(verboseProp.equals("true"))
verbose = true;
String mailer = "smtpsend";
if(debugProp.equals("true"))
session.setDebug(true);
else
session.setDebug(false);
Message msg = new MimeMessage(session);
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setContent(text, "text/html;charset=UTF-8");
msg.setHeader("X-Mailer", mailer);
msg.setSentDate(new Date());
SMTPTransport t = (SMTPTransport)session.getTransport(protocol);
try {
t.connect(mailhost, user, password);
t.sendMessage(msg, msg.getAllRecipients());
} finally {
t.close();
}
System.out.println("\nMail was sent successfully.");
}else{
System.out.println("Mail Sending is disabled.");
}