使用此代码我收到收件箱中的电子邮件:
outlook = win32com.client.Dispatch('Outlook.Application').GetNamespace('MAPI')
namespace = outlook.Session
recipient = namespace.CreateRecipient("someshareemail@email.com")
inbox = outlook.GetSharedDefaultFolder(recipient, 6)
messages = inbox.Items
for message in messages:
print message.SenderName
print message.SenderEmailAddress
我想知道,有没有办法获得发件人的IP?
我尝试使用dir()来查找对象具有哪些属性,但是没有去:
['_ApplyTypes_', '_FlagAsMethod', '_LazyAddAttr_', '_NewEnum', '_Release_', '__AttrToID__', '__LazyMap__', '__call__', '__doc__', '__eq__', '__getattr__', '__getitem__', '__init__', '__int__', '__len__', '__module__', '__ne__', '__nonzero__', '__repr__', '__setattr__', '__setitem__', '__str__', '_builtMethods_', '_enum_', '_find_dispatch_type_', '_get_good_object_', '_get_good_single_object_', '_lazydata_', '_make_method_', '_mapCachedItems_', '_oleobj_', '_olerepr_', '_print_details_', '_proc_', '_unicode_to_string_', '_username_', '_wrap_dispatch_']
答案 0 :(得分:3)
您可以使用MailItem.PropertyAccessor读取PR_TRANSPORT_MESSAGE_HEADERS_W属性的值。查找X-Originating-IP标头,如果它存在,则应包含发送方的IP地址。