在mbox
文件中,我存储了一些电子邮件:他们也可以使用MIME。必须使用mbox
脚本在Python3
文件中提取它们,而不进行任何修改。我尝试了以下代码:
import mailbox
for message in mailbox.mbox('mboxfile'):
mstring = message.as_string()
print(mstring)
这似乎打印了电子邮件'原始内容。 mbox
中的电子邮件总是使用\r\n
来表示所有新行:有时他们只有\n
。无论如何,在message.as_string()
输出中始终使用\n
,manual page中指定。
手册还说明了(约as_string()
):
请注意,此方法是为方便起见而提供的,可能不是在应用程序中序列化消息的最有用方法,尤其是在处理多条消息时。
我无法完全理解这个建议可能意味着什么。我的mbox
文件显然包含几封电子邮件,我想提取所有这些邮件。最重要的是,我希望获得存储在那里的完全相同的原始电子邮件,不需要任何修改,并为每行保留原始 { {1}}或\r\n
,就像我在\n
文件上使用cat
一样。所以:
答案 0 :(得分:0)
如果您希望内容不做任何修改,则可以简单地<Grid>
<GridView ItemsSource="{Binding Items}">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Height="100" Width="100" Background="Red">
<TextBlock Text="{Binding Name}"/>
<Rectangle Height="20" Width="20" Fill="{Binding IsAvailable,Converter={StaticResource Converter}}"/>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
每个print()
:
message
扩展名为import mailbox
for message in mailbox.mbox('mboxfile.mbox'):
print(message)
的文件只是很长的纯文本文件:
https://en.wikipedia.org/wiki/Mbox
还可以选择使用.mbox
模块来处理电子邮件:https://docs.python.org/3/library/email.message.html