Java发送gmail

标签 java eclipse tomcat gmail

以下内容不起作用,但我认为这可能是配置问题。我正在使用 eclipse ee 和 tomcat 8。这是控制台消息后跟的代码。不知道该怎么做 - 只是这方面的初学者所以非常感谢任何帮助。

package finproj;


import java.util.Properties;

import javax.mail.Authenticator;
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;

公开课电子邮件{

public static void main(String[] args){

    Properties props = new Properties();

    props.setProperty("mail.host","smtp.gmail.com");
    props.setProperty("mail.smtp.port","587");
    props.setProperty("mail.smtp.auth","true");

    Authenticator auth = new Authenticator(){           
        protected PasswordAuthentication getPasswordAuthentication() {              
            return new PasswordAuthentication("abcxyz@gmail.com","grskxstrdsgbmzzf");
        }           
    };

    Session session = Session.getDefaultInstance(props,auth);
    Message msg = new MimeMessage(session);

    try {
        msg.setSubject("test message");
        msg.setText("we made it!");
        msg.setFrom(new InternetAddress("abcxyz@gmail.com"));
        msg.setRecipient(Message.RecipientType.TO,new InternetAddress("abcxyz@gmail.com"));

        Transport.send(msg);
    } catch (MessagingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    System.out.println("finished");

}

}

这是控制台输出:

Nov 28, 2015 9:52:47 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Final Project' did not find a matching property.
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.0.28
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Oct 7 2015 18:25:21 UTC
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.0.28.0
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 10
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.0
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jre1.8.0_66
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_66-b17
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         C:\Users\OldSalt\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\Program Files\Apache Software Foundation\Tomcat 8.0
INFO: Command line argument: -Dcatalina.base=C:\Users\OldSalt\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.0
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\OldSalt\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.0\endorsed
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Nov 28, 2015 9:52:47 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program     Files\Java\jre1.8.0_66\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_66/bin/server;C:/Program Files/Java/jre1.8.0_66/bin;C:/Program Files/Java/jre1.8.0_66/lib/amd64;C:\Program Files (x86)\PHP\v5.5;C:\Python34\;C:\Python34\Scripts;C:\PROGRAMDATA\ORACLE\JAVA\JAVAPATH;C:\PROGRAM FILES (X86)\NVIDIA CORPORATION\PHYSX\COMMON;C:\WINDOWS\SYSTEM32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\WBEM;C:\WINDOWS\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\PROGRAM FILES (X86)\QUICKTIME\QTSYSTEM\;;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\File Viewer Lite\lib\magick;C:\Users\OldSalt\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5 & MySQL Utilities 1.5\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5 & MySQL Utilities 1.5\Doctrine extensions for PHP\;c:\users\oldsalt\appdata\local\enthought\canopy32\user\scripts;c:\users\oldsalt\appdata\local\enthought\canopy\user\scripts;C:\Users\OldSalt\AppData\Local\Enthought\Canopy\User;C:\Users\OldSalt\AppData\Local\Enthought\Canopy\User\Scripts;C:\Users;C:\Ruby21\bin;c:\users\oldsalt\appdata\local\enthought\canopy32\user\scripts;c:\users\oldsalt\appdata\local\enthought\canopy\user\scripts;C:\Users\OldSalt\AppData\Local\Enthought\Canopy\User;C:\Users\OldSalt\AppData\Local\Enthought\Canopy\User\Scripts;C:\Users\OldSalt\AppData\Local\Enthought\Canopy32\User;C:\Users\OldSalt\AppData\Local\Enthought\Canopy32\User\Scripts;C:\Program Files (x86)\HMA! Pro VPN\bin;C:\Program Files\Java\jdk1.8.0_66/bin;%JRE_HOME%/bin;C:\Users\OldSalt\Desktop\eclipse EE\eclipse\plugins\org.apache.ant_1.9.4.v201504302020/bin;C:\Users\OldSalt\AppData\Local\Programs\Git\cmd;C:\Program Files\Eclipse EE;;.
Nov 28, 2015 9:52:47 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Nov 28, 2015 9:52:47 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Nov 28, 2015 9:52:47 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Nov 28, 2015 9:52:47 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Nov 28, 2015 9:52:47 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 744 ms
Nov 28, 2015 9:52:47 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Nov 28, 2015 9:52:47 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.28
Nov 28, 2015 9:52:48 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 28, 2015 9:52:49 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 28, 2015 9:52:49 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Nov 28, 2015 9:52:49 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Nov 28, 2015 9:52:49 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1171 ms

最佳答案

尝试像这样设置属性?它对我有用。

Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "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");

关于Java发送gmail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33978964/

相关文章:

java - 通过 Java 代码使用 JasperReports 创建 PDF 报告时出现 Unicode 问题

java - 什么 Web 应用程序防火墙可以用于 Apache Tomcat?

mysql - 对 Apache Olingo 与 MySQL、JPA 和 Tomcat Web 服务器生成的 OData 服务的 CRUD 操作

java - tomcat websocket servlet监听端口

java - 使用非常规方案获取重定向请求的最终 URL

java - FXML - Jar 到 .exe 失败

java - 带有tomcat服务器的jsp页面中的实时通知

java - 从执行命令行多行程序获取输出

javascript - Eclipse > Javascript > 代码突出显示不适用于对象表示法

java - Oracle 数据库元数据的 NUMBER 数据类型的默认值有什么意义吗?