代表 Google Apps 用户发送电子邮件

2023-12-10

根据文档,如果当前登录的用户拥有 Gmail 或 Google Apps 帐户,则可以使用 GAE 发送电子邮件:

为了安全起见,消息的发件人地址必须是 应用程序管理员的电子邮件地址或任何有效的 应用程序的电子邮件接收地址(请参阅接收邮件)。发件人 也可以是当前用户的 Google 帐户电子邮件地址 已登录(如果用户的帐户是 Gmail 帐户)或者是在 由 Google Apps 管理的域。

以下代码适用于代表 Gmail 用户发送电子邮件,但不适用于代表 Google Apps 用户发送电子邮件。尝试从 Google Apps 用户发送邮件会导致“未经授权的发件人”错误。

current_user = users.get_current_user()
message = mail.EmailMessage()
message.sender = current_user.email()
message.subject = 'subject text'
message.to = '[email protected]'
message.body = 'body text'
if message.is_initialized():
    try:
        message.send()
    except Exception, e:
        logging.error('Unable to send email update: %s' % e)
else:
    logging.error('Email message improperly initialized')

我缺少什么?我还应该注意其他依赖项吗?

EDIT:

完整的堆栈跟踪:

Unauthorized sender
Traceback (most recent call last):
  File "/base/data/home/apps/s~core-comps/1.358275951854397525/handler_cs_ticket.py", line 274, in sendEmailCopyToClient
    message.send()
  File "/base/python_runtime/python_lib/versions/1/google/appengine/api/mail.py", line 900, in send
    raise ERROR_MAP[e.application_error](e.error_detail)
InvalidSenderError: Unauthorized sender

问题似乎在于您的应用程序正在使用联合登录,这是一项实验性功能,不适用于代表 Google Apps 帐户发送。您可以在管理控制台的“应用程序设置”页面上更改此设置。

我会将其添加到文档中。

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

代表 Google Apps 用户发送电子邮件 的相关文章

  • 翠儿。让流永远运行

    我对 tweepy python 库比较陌生 我想确保我的流 python 脚本始终在远程服务器上运行 因此 如果有人能够分享如何实现这一目标的最佳实践 那就太好了 现在我正在这样做 if name main while True try
  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • 从字符串到类型的词法转换

    最近 我尝试用Python存储和读取文件中的信息 遇到了一个小问题 我想从文本文件中读取类型信息 从 string 到 int 或 float 的类型转换非常有效 但从 string 到 type 的类型转换似乎是另一个问题 当然 我尝试了
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • 带图像的简单 GUI [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图在简单的 GUI 上显示一些卡
  • 如果字段值在外部列表中,Django 会注释布尔值

    想象一下我有这个 Django 模型 class Letter models Model name models CharField max length 1 unique True 还有这个列表 vowels a e i o u 我想查询
  • sudo pip install python-Levenshtein 失败,错误代码 1

    我正在尝试在 Linux 上安装 python Levenshtein 库 但每当我尝试通过以下方式安装它时 sudo pip install python Levenshtein 我收到此错误 命令 usr bin python c 导入
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 如何在 Python 中将彩色输出打印到终端?

    是否有与 Perl 等效的 Python 语言 print color red print
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • 如何使用Python的super()来更新父值?

    我对继承很陌生 之前所有关于继承和 Python 的 super 函数的讨论都有点超出我的理解 我当前使用以下代码来更新父对象的值 usr bin env python test py class Master object mydata
  • 如何在与应用程序初始化文件不同的文件中迭代 api 路由

    我有一个 apiroutes py 文件 其中定义了许多路由 例如 api route api read methods GET api route api write methods POST 其中 api 是导入 from import
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • 为什么实现 __iter__ 的对象不被识别为可迭代的?

    假设您使用包装对象 class IterOrNotIter def init self self f open tmp toto txt def getattr self item try return self getattribute
  • Python 3.2 中 **kwargs 和 dict 有什么区别?

    看起来Python的很多方面都只是功能的重复 除了我在 Python 中的 kwargs 和 dict 中看到的冗余之外 还有什么区别吗 参数解包存在差异 许多人使用kwargs 并通过dict作为论据之一 使用参数解包 Prepare f
  • 全局变量是 None 而不是实例 - Python

    我正在处理Python 中的全局变量 代码应该可以正常工作 但是有一个问题 我必须使用全局变量作为类的实例Back 当我运行应用程序时 它说 back is None 这应该不是真的 因为第二行setup 功能 back Back Back
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如
  • 来自 django 教程 was_published_recently.admin_order_field = 'pub_date'

    From Django 教程 https www jetbrains com help pycharm 2017 1 creating and running your first django project html d28041e21
  • Django South - 将 null=True 字段转换为 null=False 字段

    我的问题是 转变的最佳做法是什么null True场变成null False使用 Django South 的字段 具体来说 我正在与ForeignKey 你应该先写一个数据迁移 http south aeracode org docs t

随机推荐

  • PHP - 从不同服务器连接到mysql数据库

    我正在尝试从另一台服务器连接到托管数据库的 mysql 数据库 但出现错误 我猜这可能与远程权限有关 这是我可以改变的事情还是我需要让我的托管公司来做这件事 Can t connect to MySQL server on mysql4 r
  • 如何在 Angular 7 中使用路由器导航进行滚动?

    我的侧边栏导航组件sidebar component html是这样的
  • FireBaseUI Auth - 如何知道帐户是来自新注册还是现有用户?

    我在用用于身份验证的 firebaseUI 它本质上是打开一个外部活动并将用户登录到 firebase 并在 onActivityResult 中向开发人员发送回调 它工作得很好 问题是我需要知道用户是新注册用户还是现有用户 是否有任何类型
  • 图例未在 python 中用无条直方图显示

    我正在尝试使用 histplot 函数在 seaborn 中绘制 kde 图 然后按以下方式删除直方图的条形 请参阅已接受答案的最后一部分 here fig ax plt subplots sns histplot data kde Tru
  • 如何在 CKeditor 中使用
    代替

    2017 年是 HTML5 的时代 在 HTML5 中 换行符是 br NOT br 但终其一生 我无法让 CKeditor 放弃 br 有利于 br 不正确的 br 给我带来了各种各样的问题 他们之中 代码验证失败 在 Firefox 中
  • 当“direction”设置为“rtl”时需要使用正确的“text-overflow”

    我需要将 放在文本前面 并在填充 div 时仅显示文本的最后一部分 正常时什么都不做 span class file upload status style max width 200px C fakepath 996571 1398802
  • 将变量设置为等于不带括号的函数? [复制]

    这个问题在这里已经有答案了 我正在学习 AJAX 教程 制作视频的人做了一些奇怪的事情 至少我以前没见过 他们将对象属性设置为等于函数名称 但没有熟悉的 后来他继续定义了这个函数 下面提供了代码以供参考 无论如何 设置等于不带参数的函数意味
  • ChartJS - 查找平移内的最小和最大标签(缩放时)

    我有一个这样的图表 现在 当我缩放时 我需要找到平移内的最小和最大标签 例如 最小值是2018 07 16 最大值为2018 11 3 For panning 我正在使用这个属性 pan enabled true mode x onPanC
  • 如何在表中嵌套表?

    我见过类似的主题 但不适合我的具体情况 我需要在表中嵌套一个表 它将占用几个单元格 但是当我尝试嵌套一个表时 它会同时删除周围的表 我附上了一张图片 说明它应该如何处理我的代码 而我的代码就是它当前的样子 有人可以解释这是如何完成的吗 非常
  • kendo ui dropdownlist-如何进行手动级联?

    所以我目前正在尝试调整以前的一些代码以与动态下拉列表一起使用 问题似乎是cascadeFrom属性只需要一个id 所以我需要使用另一种选择 这是我的代码 fieldsDiv html dynForms dynFormFields var a
  • 需要转置 pandas 数据框

    我有一个看起来像这样的系列 col1 id 0 a 10 1 b 20 2 c 30 3 b 10 4 d 10 5 a 30 6 e 40 我想要的输出是这样的 a b c d e 10 1 1 0 1 0 20 0 1 0 0 0 30
  • Azure Functions - 值不能为空。 (参数“连接字符串”)

    我试图设置简单的 Azure 函数来读取 XML 流并将其同步回数据库 我的计划是使用时间触发器每天执行该函数一次 然而 事情看起来并不好 即使我不使用数据库 我也会收到以下错误 Error Executed Functions
  • 没有为类型“Object?”定义运算符“[]”功能()'。尝试定义运算符“[]”

    我最近启动了一个 flutter 项目 并将一些旧的 firebase 代码迁移到新的项目 然后我更新了 firebase 并修复了大部分错误 直到这个错误困扰了我 final firestore FirebaseFirestore ins
  • 在 NuGet 中包含控制台应用程序的最佳实践

    我正在开发一个开源库 它主要由一个针对 NET Standard 2 0 的类库项目组成 最重要的是 我还实现了一个控制台应用程序 它是该库的 CLI 控制台项目 由于历史原因 仅针对 NET Framework 4 6 2 现在我想知道为
  • 放弃触摸键盘

    我发现一些代码可以帮助我在用户触摸 UITextView 元素的屏幕时退出键盘 它看起来是这样的 void touchesBegan NSSet touches withEvent UIEvent event UITouch touch e
  • 为什么有些人使用交换来进行移动分配?

    例如 stdlibc 有以下内容 unique lock operator unique lock u if M owns unlock unique lock std move u swap this u M device 0 u M o
  • 如何更新 Firebase DB 中子项的特定值

    我正在关注这个document 以下是我的更新代码 func updateDealResultToServer key String dealResult String let post dealResul dealResult let c
  • python:两个时间日期字符串的差异

    我有两个日期字符串 取自用户输入并且可能相差很大 s1 2011 10 01 10 30 00 s2 2011 10 01 11 15 00 我希望找出两者之间的差异 分钟 我应该如何解决这个问题 import datetime d1 da
  • 我网站的用户可以通过 Facebook Connect 或 API 邀请他们的朋友吗?

    使用 Facebook API 让我的耳朵流血 但尽管如此 我还是遇到了一个具体问题 我希望有人能找到解决方案 我使用 Facebook PHP SDK 允许我网站的用户将他们的 FB 帐户与其网站帐户链接 这样他们就可以稍后返回并一键登录
  • 代表 Google Apps 用户发送电子邮件

    根据文档 如果当前登录的用户拥有 Gmail 或 Google Apps 帐户 则可以使用 GAE 发送电子邮件 为了安全起见 消息的发件人地址必须是 应用程序管理员的电子邮件地址或任何有效的 应用程序的电子邮件接收地址 请参阅接收邮件 发