使用加密密码连接到 gmail(使用 imap 和 javamail)

2024-03-14

我正在尝试使用一个简单的java程序连接到gmail(像这个 https://harikrishnan83.wordpress.com/2009/01/24/access-gmail-with-imap-using-java-mail-api/)。但我的问题是:

有没有办法使用加密密码而不是真实密码来做到这一点,当然是出于安全原因!就像我们在 java-Oracle db 中所做的那样?


默认情况下,IMAP 的唯一身份验证机制是the LOGIN command https://www.rfc-editor.org/rfc/rfc3501#section-6.2.3,它需要未加密的用户名和密码。您可以通过 IMAP 连接或通过启动 TLS 层在其上添加加密层STARTTLS命令,但它仍然要求客户端知道明文密码。

服务器还可以选择提供可通过以下方式调用的 SASL 身份验证方法the AUTHENTICATE command https://www.rfc-editor.org/rfc/rfc3501#section-6.2.2。服务器在响应中通告它支持哪些 SASL 机制CAPABILITY命令。例如,如果服务器包含以下功能“AUTH=PLAIN“,客户端可以使用PLAINSASL 身份验证方法通过AUTHENTICATE PLAINIMAP 命令。

Gmail 仅支持一种 SASL 身份验证机制,XOAUTH:

C: 1 capability
S: * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA XLIST CHILDREN XYZZY
      SASL-IR AUTH=XOAUTH
S: 1 OK Thats all she wrote! dv32if2169247ibb.17

XOAUTH是使用 OAuth 的非标准 SASL 身份验证机制。 (前导“X”表示它没有标准化。)Google 已发布定义的文件XOAUTHSASL机制 http://code.google.com/apis/gmail/oauth/protocol.html。他们还提供了一个google-mail-xoauth-tools 包 http://code.google.com/p/google-mail-xoauth-tools/wiki/JavaSampleCode,其中包括示例代码,展示如何通过 Gmail 使用 JavaMailXOAUTH.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用加密密码连接到 gmail(使用 imap 和 javamail) 的相关文章

  • 通过代理从java发送电子邮件

    我使用 Java Mail API 来发送和接收电子邮件 现在我做这个项目的地方有一个代理服务器 我可以知道如何通过代理服务器从java发送电子邮件吗 请参阅此处的常见问题解答 http www oracle com technetwork
  • 使用 javax.mail 和 CentOS 的邮件服务器

    我有一个 Java 程序 安装在一台旧的 Ubuntu 机器上 并使用 javax mail 发送邮件 然而 那台机器宕机了 我现在在新的 CentOS 机器上运行相同的 Java 应用程序 但是 当我尝试使用 mail smtp host
  • 关于 .NET 组件访问电子邮件收件箱的建议 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我被要求用 C 编写一个 Windows 服务来定期监视电子邮件收件箱并将收到的任何消息的详细信息插入数据库表中 我的本能是通过 POP3
  • 如何在我的 play2.0 框架 Web 应用程序中集成短信和电子邮件提醒。

    我正在 play2 0 框架中创建一个 Web 应用程序 在这个应用程序中 我需要集成短信和电子邮件提醒 通过从数据库获取详细信息来在特定日期和时间发送短信和电子邮件 为此 是否有任何免费的 API 调度程序 网络服务或应用程序 如果有的话
  • 我无法使用 Codeigniter 发送任何电子邮件

    我创建了一个控制器 并在控制器中做了一个测试函数来测试电子邮件是否发送 我检查了不同的电子邮件地址 但没有成功 这是我的代码示例 public function sendmail config protocol sendmail confi
  • 如何用utf8发送邮件

    我想以 utf 8 编码发送此电子邮件的消息 我能为此做什么 include functions php name stripslashes POST name email trim POST email subject stripslas
  • 验证电子邮件地址是否包含“@”和“.”

    我需要验证插入的电子邮件地址是否包含 和 没有正则表达式 有人能给我 java代码 和 结构图 的例子吗 I suspect你正在追求类似的东西 if address contains address contains Handle bad
  • 在 django 中发送邮件 - gmail smtp 问题

    我拥有一个简单的投资组合网站 www manojmj com 我在网站上有一个联系表格 用户可以填写表格并通过电子邮件发送给我 现在 我已经配置了我的 Gmail 帐户以通过 django 发送邮件 我知道如果我使用 gmail 作为我的提
  • 使用 Sendemail 的 HTML 表单

    我不知道问题出在哪里 mail 工作正常 我已经用一个简单的 php 文件对其进行了测试 但我的表单不发送任何电子邮件 HTML section div class wow fadeIn div div class parallax div
  • Spring 3.0 SimpleMailMessage 支持

    我在我的 gmail 帐户上收到电子邮件 但发件人始终是我自己 而不是该人的电子邮件地址 即使我在实现类中将其硬编码为message setFrom email protected cdn cgi l email protection 仍然
  • 编辑表单以清理/验证电话号码

    我对 PHP 的经验非常有限 我真的希望有人可以帮助我 我想要做的是清理 验证输入的电话号码 以便只允许使用数字 我想我需要使用FILTER SANITIZE NUMBER INT但我不确定在哪里或如何使用它 这是我的代码
  • Django/Python:电子邮件回复已更新到站点[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Exchange 服务器不接受 javax.mail API 提供的用户名/密码

    我有一个可爱的小型 Java 客户端 可以发送签名的电子邮件 我们有一个需要用户名 密码身份验证才能发送消息的 Exchange 服务器 当我连接到交换服务器时 出现以下错误 avax mail AuthenticationFailedEx
  • 带有正文内容的 Python 电子邮件多部分

    我无法在 python 中发送正文为多部分电子邮件的电子邮件 我尝试过的所有内容都导致所有内容都作为附件 并且我无法让文本或 html 显示在正文中 msg MIMEMultipart if msg mime type text or no
  • 重置密码 电子邮件

    我是 Laravel 开发新手 目前正在从事小型项目 我想自定义重置密码的电子邮件模板 甚至将其链接到完全不同的模板 对于身份验证脚手架 我使用了php artisan make auth命令 但是 默认重置密码功能使用默认的 Larave
  • 电子邮件地址是 URI 吗?

    我试图弄清楚电子邮件地址的格式是否可以说符合 URI 的定义 但到目前为止我还没有发现对此的明确确认 我希望有人可以在这里为我提供一些见解 提前致谢 是的 但带有 mailto 前缀 URI 具有以下形式
  • PHP 电子邮件表单每次刷新页面时都会发送电子邮件

    我的 php 电子邮件每次刷新页面时都会发送电子邮件 例如 用户正在填写表单并使用发送按钮发送 这一切都很好 但如果他们刷新页面 它会再次发送包含所有相同表单信息的电子邮件 我相信这是问题代码 但不知道它是什么 require once c
  • Django:重置密码不发送电子邮件

    我正在使用 Django 密码重置 我的代码中有这个代码设置 py EMAIL USE TLS True EMAIL HOST smtp gmail com EMAIL PORT 587 EMAIL HOST USER email prot
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph

随机推荐

  • 提取特定字符串后的数字

    我需要找到字符串 Count of 后面的数字 计数 字符串和数字之间可能有空格或符号 我有一些可以在 www regex101 com 上使用但不能与 stringr 一起使用的东西str extract功能 library string
  • 编程高尔夫:玩俄罗斯方块

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 基础知识 考虑以下四格骨牌和空的比赛场地 0123456789 I O Z T L S J
  • 如何在 celery task.apply_async 中使用优先级

    我有一个testcelery 中的队列 我为它定义了一个任务 celery app task queue test ignore result True def priority test priority print priority 它
  • playOrm 基本设置 + playOrm 成熟度 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • LSB 中是否有 RPM 文件命名约定?

    RPM 是 LSB 中的包格式 但 LSB 是否强制 RPM 的任何命名标准 类似于 http www rpm org max rpm ch rpm file format html http www rpm org max rpm ch
  • cdata-section-elements 不工作

    我试图通过设置全局参数在通过 XSLT 使用 Saxon HE v9 7 0 14 生成的 xml 文件中设置密码 密码可以包含任何字符 因此需要将其放在CDATA部分 我试图通过设置来实现这一点cdata section elements
  • 删除表格单元格的边框

    我知道这是一个愚蠢的问题 但我似乎完全忘记了该怎么做 我有一个 HTMLtable我想删除所有单元格周围的所有边框 以便整个表格周围只有一个边框 我的代码如下所示 table border 1 width 500 tr th h1 Your
  • Silverlight 3 替代 FileVersionInfo.GetVersionInfo

    在 Silverlight 3 0 应用程序中 我想使用程序集文件版本 http msdn microsoft com en us library system reflection assemblyfileversionattribute
  • 从 History api 接收的步骤数据与 google fit 不匹配

    我希望在我的应用程序中计算 google fit 步数 因为我使用的是 google 提供的 History api 我发现从历史 API 接收的步骤与 google fit 不匹配 即使我使用了 google 提供的相同代码 下面是我的代
  • 创建一个包含 JSONObject Android 中所有键的数组

    您好 我想创建一个 JSONObject 中所有键的数组 我的理解 如果我错了 请纠正我 是我需要将 JSONObject 转换为 Map 然后从中创建一个数组 有人知道如何做到这一点吗 无需转换JSONObject到 Map 然后创建一个
  • Node exceljs读取文件

    所以根据官方文档我应该能够使用以下方式读取Excel文档 read from a file var workbook new Excel Workbook workbook xlsx readFile filename then funct
  • ggplot2 +facet_:某些方面的反转轴?

    我想将三个子图组合成一个图 而分面将是一种自然的方法 然而 使用反转的 x 轴 这些子图之一会更容易 更自然地阅读 而我想不理会其他子图 有没有办法使用facet grid 或facet wrap 来完成此任务 我考虑过的另一种选择是 gr
  • 如何在flutter webview中打开应用程序链接?

    在 Flutter 中 我使用 flutter网页视图插件 https pub dartlang org packages flutter webview plugin启动一个 url 例如 flutterWebviewPlugin lau
  • Sizzle 和 document.querySelectorAll 有什么区别

    据我所知 嘶嘶声和querySelector querySelectorAll是 CSS 选择器 那么 加载 Sizzle 和执行以下操作有什么区别 Sizzle my CSS query and document querySelecto
  • 我如何在 Capybara 中测试页面是否*未*重新加载(JavaScript onClick 拦截已起作用)?

    我用的是水豚 黄瓜和恶作剧 我正在测试附加到表单提交按钮的 JavaScript 函数 该函数旨在捕获提交事件并阻止它 在后台执行 AJAX 请求 使用和不使用 AJAX 页面最终看起来都是一样的 但 AJAX 方法要快得多 并且不会中断浏
  • 开始一项新活动

    我正在使用 Xamarin 我想启动一个名为 AutoLinkActivity 的新活动 这是我的代码 using System using Android App using Android Content using Android R
  • Java 示例代码示例 youtube data api v3 和授权方法作为 api 密钥

    我是 google api 的新手 为 YouTube 频道创建项目 我已经为该项目创建了 api 并生成了 api 密钥 在项目上启用 Youtube api 我到处都能获得 OAUTH 授权的代码示例 但无法找到任何用于使用 api K
  • 平衡设计原则:单元测试

    我正在编写 Bananagrams 的模拟 目前 我有一个GameMaster维护公共片段集合的类 这deal Player 方法向该玩家分发一定数量的棋子 我想为此编写单元测试 然而 此时我没有吸气剂 因此无法检查对象的状态 为什么不添加
  • “lxd”与 lxc/docker 有何不同?

    问题 lxd 如何在容器内提供完整的操作系统功能 而不仅仅是单个进程 它与 lxc docker 包装器有什么不同 是不是类似于用docker supervisor wrapper脚本启动一个容器 在一个容器中包含多个进程 换句话说 我可以
  • 使用加密密码连接到 gmail(使用 imap 和 javamail)

    我正在尝试使用一个简单的java程序连接到gmail 像这个 https harikrishnan83 wordpress com 2009 01 24 access gmail with imap using java mail api