我试图使用javamail在groovy脚本通过gmail发送一封电子邮件。我已经看了很多地方在网上,一直无法得到它的工作到目前为止。我在运行我的脚本时遇到的错误是:

DEBUG SMTP: useEhlo true, useAuth false

DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 25, isSSL false

Caught: javax.mail.SendFailedException: Send failure (javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25 (javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?))

似乎是尝试使用端口25,即使我已经指定它应该使用端口587.有谁知道可能是什么导致这个问题,我使用telnet连接到端口587的smtp服务器,和thunderbird使用端口587与STARTTLS安全,并能够成功地使用smtp服务器发送邮件。这告诉我,它不是一个阻塞的端口或连接问题。这里是我用来尝试和发送电子邮件的代码:

import javax.mail.*

import javax.mail.internet.*

private class SMTPAuthenticator extends Authenticator

{

public PasswordAuthentication getPasswordAuthentication()

{

return new PasswordAuthentication('email@gmail.com', 'password');

}

}

def d_email = "email@gmail.com",

d_password = "password",

d_host = "smtp.gmail.com",

d_port = "587", //465,587

m_to = "email@gmail.com",

m_subject = "Testing",

m_text = "This is a test."

def props = new Properties()

props.put("mail.smtp.user", d_email)

props.put("mail.smtp.host", d_host)

props.put("mail.smtp.port", d_port)

props.put("mail.smtp.starttls.enable","true")

props.put("mail.smtp.debug", "true");

props.put("mail.smtp.auth", "true")

props.put("mail.smtp.socketFactory.port", d_port)

props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory")

props.put("mail.smtp.socketFactory.fallback", "false")

def auth = new SMTPAuthenticator()

def session = Session.getInstance(props, auth)

session.setDebug(true);

def msg = new MimeMessage(session)

msg.setText(m_text)

msg.setSubject(m_subject)

msg.setFrom(new InternetAddress(d_email))

msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to))

Transport.send(msg)

任何帮助将不胜感激。提前致谢!

-Bryan

java mail 端口号_使用Javamail连接到Gmail smtp服务器将忽略指定的端口并尝试使用25...相关推荐

  1. java gmail smtp_使用Javamail连接到Gmail smtp服务器会忽略指定的端口,并尝试使用25...

    我正在尝试在groovy脚本中使用javamail通过gmail发送电子邮件.我在网上看了很多地方,到目前为止还无法正常工作.运行脚本时出现的错误是: DEBUG SMTP: useEhlo true ...

  2. java mail 收 附件_使用 JavaMail 收发邮件,解决中文附件问题

    几天来一直在开发一个项目,其中一部分需要用 JavaMail 收发邮件,于是就在网上找了一些相关的源代码,最后经过整理和修改,终于好使了,希望能够给使用 JavaMail 收发邮件的朋友提供一个参考 ...

  3. mysql数据库怎么查看端口号_怎么查看数据库端口号(mysql怎么查看端口号)

    怎么查看数据库端口号(mysql怎么查看端口号) 2020-05-08 11:20:02 共9个回答 如何查看自己数据库的端口号 navicat,找到服务器,右键->连接属性,就找到端口号了 如 ...

  4. 如何修改mysql占用的端口号_修改mysql端口号(mysql的端口号)

    修改mysql端口号(mysql的端口号) 2020-05-07 22:12:00 共10个回答 如何查看mysql默认端口号和修改端口号 登录mysql,使用命令showglobalvariable ...

  5. rtsp端口号_设置RTSP, RTP和RTCP端口号 | 学步园

    1.设置RTSP端口号 设置RTSP端口号的处理位于ARTSPConnection.cpp文件中,首先从url中获取端口号,如果读取不到,则设置为默认端口554.代码处理如下: ARTSPConnec ...

  6. java 扫描tcp端口号_多线程TCP端口扫描 java实现

    界面部分: import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt. ...

  7. java实现邮件发送_基于JavaMail的Java实现简单邮件发送功能

    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本 ...

  8. mongodb 默认端口号_快2020年了,该如何面对BATJM对MongoDB灵魂式的拷问呢?

    关注我,可以获取最新知识.经典面试题以及微服务技术分享 MongoDB是基于分布式文件存储的数据库,由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案,且MongodDB是一个介于关 ...

  9. tomcat中间件的默认端口号_死磕Tomcat系列(1)——整体架构

    点击上方"Java技术前线",选择"置顶或者星标" 与你一起成长 在许多的高端开发的岗位中都会或多或少有要求面试人员要研究过一些常用中间件源码.这是因为一切的秘 ...

最新文章

  1. 如何使用Next.js创建动态的Rick and Morty Wiki Web App
  2. Cloud Control 13c 13.3安装(二) agent 部署
  3. /etc/resolv.conf root用户下不能修改
  4. USB 之四 USB 发展(更名)史 / USB 规范变化
  5. 牛客题霸 [ 环形链表的约瑟夫问题] C++题解/答案
  6. 了解JavaScript中的prototype (实例)
  7. 计算机主机箱拆箱,开箱 篇一:拆戴尔3681 SFF 10代小主机
  8. 吊打面试官 | Java到底是值传递还是引用传递
  9. 80.简单搭建nodeJS服务,访问本地站点文件
  10. [04-01]css组合选择器
  11. Übersicht for mac(自定义桌面工具)v1.6(68)最新版
  12. Curator Zookeeper分布式锁
  13. 堆栈和内存分配[转]
  14. 字符串处理(六)atoi、atof、atol和atoll
  15. centos安装stress安装失败_Linux压力测试软件Stress使用指南
  16. ROS Noetic入门完整版
  17. 计算机刷新的作用,为何要刷新BIOS?刷新BIOS能启到什么作用?
  18. 使用printf语句输出名言:“贵有恒,何必三更起五更睡:最无益,只怕一日曝十日寒。“
  19. 数据库多对多关系建表
  20. Scala中Either两个子类Left/Right

热门文章

  1. 宿州可以学中专计算机的学校有哪些,宿州中专学校排名榜,有哪些专业
  2. LVS的10个调度算法
  3. 一个EXE引发的危机 — 浏览器劫持实战篇
  4. 音乐播放器(附源码)
  5. Chrome无法连接到网络
  6. 关于 .NET Core(.NET Core 指南)
  7. 今天面了一个大学生:这82道SpringBoot面试题都答不上来?还想进大厂?
  8. Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题
  9. 基于cc2530获取ds18b20温度值
  10. win10 安装 Linux子系统(WSL)