使用加密密码连接到 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) 的相关文章

  • Outlook 有条件 CSS If 吗?

    我需要一些特定的 css 来发送 html 电子邮件 但仅限于 Outlook 我正在寻找相当于
  • ::after 内联 HTML 电子邮件?

    banner width 34px height 52px position relative color white font size 11px letter spacing 0 2em text align center float
  • PHP语言问题

    我有一个 php 页面 它将邮件发送到特定电子邮件 其中包含此页面表单中的数据 邮件必须以网站的母语 阿拉伯语 发送 但是当我单击表单上的提交按钮时 收到的邮件一半可读 阿拉伯语 另一部分不可读 符号 我想知道如何解决这个问题并且能够发送邮
  • 使用 ASP.Net vNext 发送邮件

    一般来说 在传统的 ASP Net 和 Net 中 发送邮件是通过System Net Mail所在的类System dll 现在有了KRE vNext好像就没有了System Net Mail作为一个单独的包 参考 net453 框架在p
  • 有什么方法可以复制 div 的渲染 HTML 吗?

    我正在开发电子邮件签名生成器 我想通过按按钮复制最终签名 而不是手动选择签名并将其复制到剪贴板 这意味着我需要它们的图像 文本和样式 我尝试了几种变体 包括 w3schools 的变体 但没有成功 其中一些只是复制文本 但没有样式 例子 h
  • Git:发送电子邮件而不提交

    我有一个项目 我做了更改 并想使用 git send email 功能将它们发送给另一个用户 我发现它可以通过发送补丁来工作 由git format patch每次提交 是否可以只发送diff的 我不想先提交 然后发送补丁 是否有gitfo
  • Java Mail - 以字符串形式读取附件

    我开始使用 Java Mail 我有一些关于附件处理的问题 如果我们的内容是Multipart即有一个附件 在哪个索引处是实际的附件 在哪个索引处我们可以找到邮件内容 我只想处理附件 这是正确的做法吗 如果我想将给定的附件转换为字符串 只需
  • JavaMail Gmail 问题。 “准备启动 TLS”然后失败

    mailServerProperties System getProperties mailServerProperties put mail smtp port 587 mailServerProperties put mail smtp
  • 如何在 iOS 中注册自定义文件类型

    我目前正在创建一个应用程序 我想让用户在其中备份他们的文件 plist m4a 我压缩文件并将扩展名更改为自定义扩展名 专门针对我的应用程序 例如 MyBackup 然后 用户可以通过电子邮件或 iTunes 文件共享进行导出 我已经阅读过
  • 从网页安装 URI 方案的服务处理程序

    从 Chrome 访问 Google Mail 或 Google Calendar 时 地址栏中会出现小图标 允许为 URI 方案安装自定义服务处理程序 图中用红色方块标记 图标的工具提示是 This page wants to insta
  • 如何在 Android 应用程序中单击按钮时打开 Gmail Compose?

    当我的 Android 应用程序中单击按钮时 我尝试打开 Gmail 撰写屏幕 我需要 Google 提供的 API 密钥吗 或者我需要在按钮 onClickListener 中做什么 任何形式的见解都非常值得赞赏 正如 JeffC 指出的
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • Java特殊字符替换

    我有一段文字 Csukl si roham gy t rheti a sv deket annyit emlegetikmostans g ism t a sv d modellt Magyarorsz gon 在原始文本中根本没有换行符
  • 使用 HTML 文本预填充 Gmail 撰写屏幕

    我发现要打开 Gmail 撰写屏幕 您必须登录并打开以下链接 替换变量填充撰写表单上的相应位置 但是 如果我想输入正文多行文本或换行符 即使我对它进行 urlencode 它也不起作用 这里有什么想法吗 检查您的 UrlEncode 方法是
  • 从java应用程序发送电子邮件时出现异常:中继被拒绝

    我们正在使用 Spring Mail 从 java 应用程序发送电子邮件 org springframework mail javamail JavaMailSenderImpl Spring电子邮件配置是
  • 使用 emacs24 通过 smtp 使用 gnutls 和额外参数发送电子邮件

    我在使用 posteo 电子邮件帐户从 emacs24 发送电子邮件时遇到了一个相当奇怪的问题 但使用 gmail 和 gmx 似乎一切正常 这是我当前 emacs 配置的相关部分 感觉就像我将其排列了一百万次 结果始终相同 require
  • 设置| G Suite + Sendgrid 用于事务性电子邮件

    我目前正在尝试解决我们商店的电子邮件设置问题 到目前为止 我们使用 G Suite 来处理与我们的域相关的所有电子邮件abc com 历史 我们的 WooCommerce 商店正在利用wp mail PHP Mail 功能可通过我们的 We
  • 使用 javascript 通过 google api 发送邮件失败

    我正在尝试使用 JavaScript 通过 Google API 发送电子邮件 我的问题是 当我尝试发送不带附件的简单邮件时 出现以下错误 原始 RFC822 有效负载消息字符串或通过 upload 需要 URL 上传消息 My code
  • 为什么 smtplib.SMTP().sendmail 不发送 DKIM 签名邮件

    我已经在服务器上设置了 postfix 以及 openDKIM 当我跑步时 echo Testing setup mail s Postfix test my email address 我收到电子邮件 邮件标题中有一个DKIM Signa

随机推荐

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

    我需要找到字符串 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