嗨,如果只在一个文件中运行此代码,我有一个问题
import win32com.client as win32
outlook=win32.Dispatch('outlook.application')
mail=outlook.CreateItem(0)
mail.To='example@example.com'
mail.Subject='Message subject'
mail.Body='Message body'
mail.Send()
但是现在我需要拆分才能得到一个函数,所以我做了这个
mailCode.py
import win32com.client as win32
class multipleSendByMail:
outlook=win32.Dispatch('outlook.application')
mail=outlook.CreateItem(0)
def multipleSendMail(self, destMail, msg, subject):
for i in destMail:
self.mail.To=destMail #'example@example.com'
self.mail.Subject=subject #'Message subject'
self.mail.Body=msg #'Message body'
self.mail.Send()
return True
main.py
from mailCode import *
sendMail = multipleSendByMail
destMail = ["mail1@mail.com", "mail2@mail.com"]
msg = "Messaggio"
subject = "Oggetto"
ret = sendMail.multipleSendMail(destMail, msg, subject)
但我有一个错误:
ret = sendMail.multipleSendMail(destMail, msg, subject) TypeError: multipleSendMail() missing 1 required positional argument: 'subject'
因此,我尝试修改main,如下所示:
main.py
from mailCode import *
sendMail = multipleSendByMail()
destMail = ["mail1@mail.com", "mail2@mail.com"]
msg = "Messaggio"
subject = "Oggetto"
ret = sendMail.multipleSendMail(destMail, msg, subject)
但我有一个错误:
Traceback (most recent call last):
File "C:/Users/myPath/mailSender/main.py", line 7, in <module>
ret = sendMail.multipleSendMail(destMail, msg, subject)
File "C:\Users\myPath\mailSender\mailCode.py", line 9, in multipleSendMail
self.mail.To=i
File "C:\tools\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 549, in __setattr__
self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
pywintypes.com_error: (-2147352567, 'Eccezione.', (4096, 'Microsoft Outlook', "L'elemento è stato spostato o eliminato.", None, 0, -2147221238), None)
错误是意大利语,表示“元素已被移动或移除”的异常
怎么了?我认为这是一个基本的错误,但我现在看不出来
决心
destMail=[”mail1@mail.com", "mail2@mail.com“]
需要: destMail=”mail1@mail.com; mail2@mail.com"
相关问题 更多 >
编程相关推荐