자동 메일 스크립트

2588 단어 python 스크립트
인터넷에 서버를 연결하려면 항상 서버의 IP 주소를 알아야 합니다. 그러면 전원을 켤 때 자동으로 메일을 보내서 알려줄 수 있습니까?답은 긍정적이다.시스템 ubantu16.04 사고방식: 시스템 초기화 시 시작된 스크립트를 이용하여 메일을 보내는python 스크립트를 실행합니다
자료를 보면 알 수 있듯이 ubantu16.04는 시작할 때/etc/rc에서 실행됩니다.로컬 파일입니다. 그러면 이 파일에서python 스크립트를 실행하는 명령을 작성하면 컴퓨터를 켜서 메일을 보내는 목적을 달성할 수 있습니다.서로 다른 시스템이 켜져 실행되는 파일이 다를 수 있기 때문에, 본인은 자신의 컴퓨터에서 rc를 수정하는 것입니다.local 파일이면 되지만 응용 서버에서 죽어라 보내지 않고 구체적으로 디버깅을 합니다.다음은python 스크립트를 주목합니다.
smtplib 패키지를 설치하면 기본 환경에서 conda install이나 pip install을 설치하면 됩니다.다음은 코드입니다.
# -*- coding:utf-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
import re
import os

# ip 
ifconfig_output=os.popen('ifconfig').read()
# ip , , 
pat=re.compile(r'inet addr:[0-9]{1,3}.{1}[0-9]{1,3}.{1}[0-9]{1,3}.{1}[0-9]{1,3}')
match=pat.findall(ifconfig_output)
ip=match[1]

try:
    sender=' '
    sender_password=' '
    receiver=[' ',]

    # 
    msg=MIMEText(ip,'plain','utf-8')
    # 
    msg['From']=formataddr(['sender',sender])
    # 
    msg['Subject'] = ' ip '

    # 
    server = smtplib.SMTP_SSL(" smtp ", 465)
    server.login(sender, sender_password)
    server.sendmail(sender, receiver, msg.as_string())
    server.quit()
except:
    print (' !!!')

이 컴퓨터는 이python 스크립트를 send_로 명명합니다email.py,/etc/아래에 놓고/etc/rc.local의 exit 0 앞에 1 줄을 추가합니다.
python/etc/send_email.py !!!실행 파일은 절대 경로를 사용해야 합니다.
저장, 종료 테스트하면 됩니다

좋은 웹페이지 즐겨찾기