微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IICS 任务流 - 通知任务 - 附加文件

如何解决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 举报,一经查实,本站将立刻删除。