メールのスクリプト


このスクリプトはメールに関する小さなスクリプトで、メールインタフェースと言えるでしょう.外部ネットワークにメールを統一することができ、ネットワークが閉鎖的な環境に適しています.
cat mail_socket.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import socket
import smtplib
from email.MIMEText import MIMEText
def log_w(log_text):
logfile = "/data/shell_files/send_msg/mail_socket.log"
line = "============================================================="
now = time.strftime("%Y-%m-%d %H:%M:%S")
tt = line + "
" +now + "
" + str(log_text) + "
" f = open(logfile,'a+') f.write(tt) f.close() def send_mail(to_list,sub,content): mail_host="192.168.100.23" mail_user="[email protected]" mail_pass="123456" mail_postfix="chunbai.com" me="cuiyuanrong<"+mail_user+">" msg = MIMEText(content) msg['Subject'] = sub msg['From'] = me msg['To'] = to_list try: s = smtplib.SMTP() s.connect(mail_host) s.login(mail_user,mail_pass) s.sendmail(me, to_list, msg.as_string()) s.close() return True except Exception, e: log_w(str(e)) return False HOST = '0.0.0.0' PORT = 55555 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind((HOST,PORT)) s.listen(1) while True: conn,addr = s.accept() data = conn.recv(1024) remote_text = data.split(',') mail_to = remote_text[0] mail_title = remote_text[1] mail_msg = remote_text[2] if send_mail(mail_to,mail_title,mail_msg): log_w('Connected by:' + str(addr) + '
' + data + '
' + 'Send mail success.') conn.send("ok") else: log_w('Connected by:' + str(addr) + '
' + data + '
' + 'Send mail failed.') conn.send("error") conn.close()