IBM Power Systems AS/400 iSeries ¤Ë´Ø¤¹¤ë³Ð¤¨½ñ¤­¤Ê¥Ú¡¼¥¸¤Ç¤¹¡£

ŬÅö¤ÊMTA¥µ¡¼¥Ð¡¼

ÆÃÄê¤Î¥É¥á¥¤¥ó¤òÆÃÄê¤ÎIP¤Ëή¤·¡¢¤½¤ì°Ê³°¤Î¥É¥á¥¤¥ó¤ÏDNS¤ò°ú¤¤¤ÆžÁ÷¤¹¤ëMTA¥µ¡¼¥Ð¡¼¤Ç¤¹¡£
¿¿ÌÌÌܤËÆ°ºî¸¡¾Ú¤·¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤ªÍ·¤ÓÄøÅ٤˻ȤäƤ¯¤À¤µ¤¤¡£
ÆÃÄê¤Î¥É¥á¥¤¥ó¤ÊÀßÄê¤Ï¥½¡¼¥¹²Ç¡Ê¤ª
MTA.py
# -*- coding: Shift-JIS -*-
import sys,sqlite3,asyncore,smtpd,smtplib,datetime,socket
from email import message_from_string
from email.Header import decode_header,Header
from email.MIMEText import MIMEText
from time import time
from email.Utils import formatdate

sendHost = ['licorice.jp','shuffle.com']

def logWrite(msg):
    fileName = datetime.date.today().isoformat() + '.log'
    d = datetime.datetime.today()
    h = '%s:%s:%s.%sn' % (d.hour, d.minute, d.second, d.microsecond)
    fw = open(fileName, 'a')
    fw.write(h + ': ' + msg + '\n')
    fw.close()

def create_message(from_addr, to_addr, subject, body, encoding):
    # 'text/plain; charset="encoding"'¤È¤¤¤¦MIMEʸ½ñ¤òºî¤ê¤Þ¤¹
    msg = MIMEText(body, 'plain', encoding)
    msg['Subject'] = Header(subject, encoding)
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Date'] = formatdate()
    return msg

def send(ipAdr,from_addr, to_addr, msg):
    s = smtplib.SMTP(ipAdr)
    s.sendmail(from_addr, [to_addr], msg.as_string())
    s.close()

class MySMTPServer(smtpd.SMTPServer):
    def process_message(self, peer, mailfrom, rcpttos, data):
        msg = message_from_string(data)
        
        # ¥á¡¼¥ë¤ò²òÀÏ
        h = decode_header(msg.get('subject'))
        subject = ''
        for s, c in h:
            subject += s
        cset = msg.get_param('charset')
        b = msg.get_payload(decode=True)
        body = b
        to = decode_header(msg.get('to'))
        mailto = ''
        for t1,t2 in to:
            mailto += t1

        #¥Õ¥¡¥¤¥ë¤Ë½ñ¤­½Ð¤·
        logMsg= 'Receive mail: From=%s,To=%s,Subject=%s,Body=%s,Date=%s' % (mailfrom,mailto,subject,body,msg['Date'])
        print logMsg
        logWrite(logMsg)
        
        #MTA½èÍý
        #To¤Î¥á¡¼¥ë¤òʬÀÏ
        mName,mDomain = mailto.split('@')
        hostIP = ''
        if mDomain in sendHost:
            print 'ÆÃÄê¤Î¥Û¥¹¥È¤ØžÁ÷'
            hostIP = '192.168.1.163'     # ÆÃÄê¤Î¥Û¥¹¥È¤Øή¤¹
        else :
            print 'DNS¤ò°ú¤¤¤ÆžÁ÷'
            hostIP = socket.gethostbyname(mDomain)     # DNS¤ò°ú¤¯
        msg2 = create_message(mailfrom, mailto, subject, body,'ISO-2022-JP')
        send(hostIP,mailfrom, mailto , msg2)
        logMsg = 'Mail was delivered. IP=[%s],Subject=%s,Body=%s' % (hostIP ,subject,body)
        print logMsg
        logWrite(logMsg)


if __name__ == '__main__':
    MySMTPServer((sys.argv[1], int(sys.argv[2])), None)
    asyncore.loop()

¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È

ODlP82 Thanks for the blog article.Thanks Again. Awesome.

0
Posted by seo thing 2013ǯ12·î20Æü(¶â) 14:24:07 ÊÖ¿®

KWlQdc <a href="http://nedhfmzodjjs.com/">nedhfmzodjjs</a>, [url=http://ohyxtizikiut.com/]ohyxtizikiut[/url], [link=http://qbnrkamnreml.com/]qbnrkamnreml[/link], http://kgcdopieyhcy.com/

0
Posted by lzktlbsb 2013ǯ11·î15Æü(¶â) 03:24:02 ÊÖ¿®

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

WikiÆ⸡º÷

Menu

¤³¤³¤Ï¼«Í³¤ËÊÔ½¸¤Ç¤­¤ë¥¨¥ê¥¢¤Ç¤¹¡£

¥á¥ó¥Ð¡¼¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹