zoukankan      html  css  js  c++  java
  • python随机服务器的双线出口ip发送邮件

    #-*- coding:utf-8 -*-
    import smtplib
    import sys
    import random
    import socket
    from email.mime.text import MIMEText



    true_socket = socket.socket
    def bound_socket(*a, **k):
        sock = true_socket(*a, **k)

        #随机出一个IP
        ip_list = ['XXX.XXX.XXX.XXX','XXX.XXX.XXX.XXX']
        index = random.randint(1,1000000)
        ip_index = 0
        if index>=1 and index<=500000:
            ip_index = 0
        else:
            ip_index = 1
        ip = ip_list[ip_index]
        sock.bind((ip, 0))
        return sock

    #绑定IP
    socket.socket = bound_socket


    mail_host="smtp.XXX.XXX"  #smtp
    mail_user="XXX@XXX.XXX"    #user
    mail_pass="XXX"   #pwd
    mail_postfix="XXX.com"  #发件箱的后缀

    def send_mail(to_list,sub,content):
        me="<XXX@XXX.XXX>"
        msg = MIMEText(content,_subtype='html',_charset='utf-8')
        msg["Accept-Language"]="zh-CN"
        msg["Accept-Charset"]="ISO-8859-1,utf-8"
        msg['Subject'] = sub
        msg['From'] = me
        msg['To'] = ";".join(to_list)
        try:
            server = smtplib.SMTP()
            server.connect(mail_host)
            server.login(mail_user,mail_pass)
            server.sendmail(me, to_list, msg.as_string())
            server.close()
            return True
        except Exception, e:
                return e
            
    if __name__ == '__main__':
        #获取参数
        mailto = [sys.argv[1]]
        title = sys.argv[2]
        content = sys.argv[3]

        status = send_mail(mailto,title,content)
        
        if status == True:
            print 1
        else:
            print status

  • 相关阅读:
    # ES6基础
    # yarn简单使用
    # laravel框架中的配置
    需求概述开发进度09
    需求概述开发进度08
    需求概述开发进度07
    需求概述开发进度06
    需求概述开发进度05
    需求概述开发进度04
    需求概述开发进度03
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429387.html
Copyright © 2011-2022 走看看