ste*_*eve 2 email email-headers python-3.x
用于从 RFC822 兼容文件读取标头的库函数对我来说工作得很好,例如:
allRecips = []
for hdrName in ['to', 'cc', 'bcc']:
for i in email.utils.getaddresses(msg.get_all(hdrName, [])):
r = {
'address': {
'name': i[0],
'email': i[1]
}
}
allRecips.append(r)
Run Code Online (Sandbox Code Playgroud)
我现在想从msg上面示例中的结构中删除密件抄送收件人。我查看了del_param()这个,但无法弄清楚要传入的内容。有没有一种好方法可以删除可能存在的任何密件抄送标头(1 个或多个)?
我找到了一种方法来做到这一点。诀窍是使用 向后遍历标头数组reversed(),以避免内容在数组中“移动”的问题。
# Remove any bcc headers from the message payload. Work backwards, as deletion changes later indices.
for i in reversed(range(len(msg._headers))):
hdrName = msg._headers[i][0].lower()
if hdrName == 'bcc':
del(msg._headers[i])
Run Code Online (Sandbox Code Playgroud)
列表具有搜索项目的删除方法,因此顺序并不重要。
我相信您可以使用以下代码实现目标:
for header in msg._headers:
if header[0].lower() == 'bcc':
msg._headers.remove(header)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2439 次 |
| 最近记录: |