如何解决IICS 任务流 - 通知任务 - 附加文件
我有一个 IICS 任务流,其中包含一个映射任务和一个通知任务。映射任务的目标是存储在服务器位置的 csv。
对于通知任务,我想发送附有 csv 的电子邮件。您知道这是否可行,或者是否有其他方法可以通过电子邮件发送目标 csv?
解决方法
不是理想的解决方案,但您可以编写一个简单的python程序将csv作为电子邮件发送,只需提供csv到python程序的路径即可。然后,从 informatica 作为命令任务执行 python 脚本。 (如果成功)使用python脚本非常容易。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
import os
import shutil
def send_mail(body_text,fromaddr,recipient_list,smtp_login,smtp_pass,file_path):
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = ','.join(recipient_list)
msg['Subject'] = 'your Subject variable'
msg.attach(MIMEText(body_text,'plain'))
filename = os.path.basename(file_path)
attachment = open(file_path,"rb")
part = MIMEBase('multipart','mixed; name=%s' % filename)
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= %s" % filename)
msg.attach(part)
server = smtplib.SMTP(host="your.mailserver.com",port=123)
# eg smtp.google.com
server.starttls()
server.login(smtp_login,smtp_pass)
text = msg.as_string()
server.set_debuglevel(1)
server.sendmail(fromaddr,text)
server.quit()
mainDir = '/path/to/file'
sendFileName = 'yourfilename' + '.csv'
sourceFilePath = mainDir + 'file_send/filename.csv'
body_text = '''
Dear All,Please find attached document
Thank You.
'''
smtp_login = "emailusername"
smtp_pass = "emaipassword"
recipient_list = ['abc@company.com','def@company.com']
file_path = os.path.abspath(sendFilePath)
fromaddr = 'emailusername@company.com'
send_mail(body_text=body_text,fromaddr=fromaddr,recipient_list=recipient_list,smtp_login=smtp_login,smtp_pass=smtp_pass,file_path=file_path)
此代码可能需要一些修改,但认为它可能对某人有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。