ÆÃÄê¤Î¥É¥á¥¤¥ó¤òÆÃÄê¤ÎIP¤Ëή¤·¡¢¤½¤ì°Ê³°¤Î¥É¥á¥¤¥ó¤ÏDNS¤ò°ú¤¤¤ÆžÁ÷¤¹¤ëMTA¥µ¡¼¥Ð¡¼¤Ç¤¹¡£
¿¿ÌÌÌܤËÆ°ºî¸¡¾Ú¤·¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤ªÍ·¤ÓÄøÅ٤˻ȤäƤ¯¤À¤µ¤¤¡£
ÆÃÄê¤Î¥É¥á¥¤¥ó¤ÊÀßÄê¤Ï¥½¡¼¥¹²Ç¡Ê¤ª
¿¿ÌÌÌܤËÆ°ºî¸¡¾Ú¤·¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤ªÍ·¤ÓÄøÅ٤˻ȤäƤ¯¤À¤µ¤¤¡£
ÆÃÄê¤Î¥É¥á¥¤¥ó¤ÊÀßÄê¤Ï¥½¡¼¥¹²Ç¡Ê¤ª
# -*- 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.
KWlQdc <a href="http://nedhfmzodjjs.com/">nedhfmzodjjs</a>, [url=http://ohyxtizikiut.com/]ohyxtizikiut[/url], [link=http://qbnrkamnreml.com/]qbnrkamnreml[/link], http://kgcdopieyhcy.com/