使用 Java 发送 Gmail 邮件时遇到 'javax.net.ssl' 错误是常见问题。这通常是由以下原因导致:

  • 非受信任的 SSL 证书: 您的程序可能使用了一个不受信任的 SSL 证书。
  • SSL 证书配置错误: SSL 证书可能没有正确配置。

以下是一个示例代码,可以帮助您解决此问题:

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendEmail {

    public static void main(String[] args) {

        String to = 'recipient@email.com';
        String from = 'sender@email.com';
        String host = 'smtp.gmail.com';
        String password = 'yourpassword';
        String port = '587';

        Properties properties = System.getProperties();
        properties.setProperty('mail.smtp.host', host);
        properties.setProperty('mail.smtp.port', port);
        properties.setProperty('mail.smtp.starttls.enable', 'true');
        properties.setProperty('mail.smtp.auth', 'true');

        Session session = Session.getDefaultInstance(properties);

        try {
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setSubject('Test Email from Java');
            message.setText('Hello, this is a test email from Java!');

            Transport transport = session.getTransport('smtp');
            transport.connect(host, from, password);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            System.out.println('Email sent successfully!');
        } catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}

请将以下变量替换为您的实际值:

  • to:收件人的电子邮件地址
  • from:发件人的电子邮件地址
  • host:电子邮件提供商的 SMTP 服务器主机名
  • password:您的电子邮件帐户密码
  • port:SMTP 服务器端口号

如果问题仍然存在,请检查您的 SSL 证书是否正确配置,并确保您使用的是受信任的证书。

网站使用 HTTPS 是否意味着 SSL 已启用?

是的,网站使用 HTTPS 协议表示 SSL 已启用。 HTTPS 代表 Hypertext Transfer Protocol Secure,它使用 SSL/TLS (Secure Sockets Layer/Transport Layer Security) 来加密网站与用户之间的通信。

解决 Gmail 邮件发送 Java 程序提示 javax.net.ssl 错误:详细原因和代码示例

原文地址: https://www.cveoy.top/t/topic/nOvf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录