我可以在gdata.apps.emailsettings.client.EmailSettingsClient类中使用RetrieveForwarding获取GDEntry对象。
我能够使用Regex或XML模块查看哪个XML对象在此对象中包含“ForwardTo”地址。示例输出包括(以及其他)以下行:
<ns0:property xmlns:ns0="http://schemas.google.com/apps/2006" name="enable" value="true" />
<ns0:property xmlns:ns0="http://schemas.google.com/apps/2006" name="action" value="KEEP" />
<ns0:property xmlns:ns0="http://schemas.google.com/apps/2006" name="forwardTo" value="name@email.com" />
现在我有了每个forwardTo地址,我想删除它们。我不想简单地禁用转发。在查看我的选项时,我看到的唯一可以调用的方法是gdata.apps.emailsettings.client.EmailSettingsClient中的UpdateForwarding。但是,正如您所看到的,此方法不允许我删除forwardTo地址。
update_forwarding(self, username, enable, forward_to=None, action=None, **kwargs)
Update Google Mail Forwarding settings.
Args:
username: string The name of the user.
enable: Boolean Whether to enable incoming email forwarding.
forward_to: (optional) string The address email will be forwarded to.
action: string (optional) The action to perform after forwarding
an email (ACTION_KEEP, ACTION_ARCHIVE, ACTION_DELETE).
kwargs: The other parameters to pass to the update method.
目标是删除现有的转发地址。这些帐户从一个人移动到另一个人,我正在尝试创建一个无缝过渡。这包括删除旧的转发地址,此时必须通过登录每个帐户手动完成。
答案 0 :(得分:1)
正如您所注意到的,没有办法完全删除转发地址。如果禁用转发,则“检索转发设置”调用将不返回电子邮件地址:
https://developers.google.com/google-apps/email-settings/#retrieving_forwarding_settings
但是,电子邮件地址仍然可以在Gmail设置界面中看到,并且只能从那里删除。
如果您不希望用户知道他们的电子邮件正在被转发/监控,您可能需要使用Google Apps Email Audit API Monitors或Google Vault。