Python 正文中没有文本消息的OTR
我用python编写了一个脚本,可以在OTR上自动打开票据Python 正文中没有文本消息的OTR,python,otrs,Python,Otrs,我用python编写了一个脚本,可以在OTR上自动打开票据 SERVER = "mailserver.domain" FROM = "ZABBIX<zabbix@domain>" SUBJECT = "{0}-{1}[ZABBIX] Do something".format(date,hour) TO = ["otrs.ticket@domain"] CC = someone@domain BODY = "[{0}] Caracteres randomicos para evita
SERVER = "mailserver.domain"
FROM = "ZABBIX<zabbix@domain>"
SUBJECT = "{0}-{1}[ZABBIX] Do something".format(date,hour)
TO = ["otrs.ticket@domain"]
CC = someone@domain
BODY = "[{0}] Caracteres randomicos para evitar reabertura de chamado no OTRS\n\n\n".format(RANDOM)
REPLY = "dudeIT@domain"
Cmd = 'cat {2} | isql DATABASE01 {0} {1} -b -c -d, > {3}'.format(User,Pass,QuerySQL,FileTXT
Converte = 'unix2dos %s '% FileCSV
exec_query = os.system(Cmd)
tcsv = open(FileCSV,"wb")
ftxt = open(FileTXT, "rt")
for line in ftxt:
tcsv.write(line.replace(',',';'))
tcsv.close()
ftxt.close()
exec_converte = os.system(Converte)
TEXT = MIMEText(BODY.encode('latin-1'),'plain')
msg = MIMEMultipart()
msg['Subject'] = SUBJECT
msg['From'] = FROM
msg['To'] = ', '.join(TO)
msg['Cc'] = CC
msg['reply-to'] = REPLY
destinatarios = TO + CC.split(",")
part = MIMEBase('application', "octet-stream")
part.set_payload(open(FileCSV,"rb").read())
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment;
filename=List_Files.csv')`
msg.attach(part)
msg.attach(TEXT)
server = smtplib.SMTP(SERVER)
SERVER=“mailserver.domain”
FROM=“ZABBIX”
SUBJECT=“{0}-{1}[ZABBIX]做点什么”。格式(日期,小时)
TO=[“otrs。ticket@domain"]
CC=someone@domain
BODY=“[{0}]Caracteres randomicos para evitar reabertura de chamado no OTRS\n\n\n”。格式(随机)
答复=”dudeIT@domain"
Cmd='cat{2}|isql数据库01{0}{1}-b-c-d,>{3}'。格式(用户、过程、查询SQL、文件TXT
Converte='unix2dos%s'%FileCSV
exec_query=os.system(Cmd)
tcsv=打开(文件CSV,“wb”)
ftxt=打开(FileTXT,“rt”)
对于ftxt中的行:
tcsv.write(line.replace(',',';'))
tcsv.close()
ftxt.close()
exec_converte=os.system(converte)
TEXT=MIMEText(BODY.encode('latin-1'),'plain')
msg=MIMEMultipart()
msg['Subject']=主语
msg['From']=From
msg['To']=','.加入(To)
msg['Cc']=Cc
msg['reply-to']=回复
目的地=至+抄送拆分(“,”)
part=MIMEBase(“应用程序”、“八位字节流”)
part.set_有效负载(open(FileCSV,“rb”).read())
编码器。编码_base64(部分)
部分。添加标题(“内容处置”、“附件”;
filename=List_Files.csv')`
附加信息(部分)
msg.attach(文本)
server=smtplib.SMTP(服务器)
在测试脚本时(对错误实践等表示抱歉),一切正常,正文(文本消息)和附件都正常。但当我向OTRS发送电子邮件时,文本不会出现在票证正文中,而OTRS会显示消息:“无文本消息=>请参阅附件
需要帮助来解决此问题。找到了解决方案
我无法找出问题的原因,但以HTML格式发送消息解决了问题
BODY = "<html>
<head></head>
<body>
<p>[{0}] Caracteres randomicos para evitar reabertura de chamado no OTRS
</body></html>".format(RANDOM)
...
TEXT = MIMEText(BODY,'html')
BODY=”
[{0}]
“.格式(随机)
...
TEXT=MIMEText(正文,'html')
找到了解决方案
我无法找出问题的原因,但以HTML格式发送消息解决了问题
BODY = "<html>
<head></head>
<body>
<p>[{0}] Caracteres randomicos para evitar reabertura de chamado no OTRS
</body></html>".format(RANDOM)
...
TEXT = MIMEText(BODY,'html')
BODY=”
[{0}]
“.格式(随机)
...
TEXT=MIMEText(正文,'html')