시작 후 IP 자동 전송

6572 단어 RaspberryPiPython

랩 시작 후 이메일로 IP 전송


처음에는 Gmail로 하려고 했는데 안전성이 튕겨서 다른 방법으로 바꿨어요.
또한 이곳에는 메일의 발송 서버가 설치되어 있지만 번거롭기 때문에python이 자동으로 발송할 수 있도록 전용 홈페이지를 만들었다.(어떤 번거로움도 고려하지 않는다)
http://raspi.seesaa.net/article/421958492.html
실제로는 다음과 같다.

흐르다

  • 발송용 메일 양식이 있는 홈페이지 제작
  • 이 페이지에서 메일을 보내는python 프로그램 제작
  • 이 프로그램을 라스파에서 자동으로 실행하도록 설정
  • 메일을 보낼 페이지 만들기


    나는 어디에서 만든 물건을 직접 가져왔다.
    index.html
    <html>
    <body>
        <form id="campaign" name="campaign" action="confirm.php" type="post" method="post">
            <p><input type="text" name="ip" id="ip"/></p>
            <input type="submit" value="SUBMIT" />
        </form>
    </body>
    </html>
    
    
    confirm.php
    
    <?php
        mb_language("Japanese");
        mb_internal_encoding("UTF-8");
        $to      = 'メールアドレス';
        $subject = 'Raspberrypi IP address';
        $ip=htmlspecialchars($_POST["ip"]);
        $message = $ip;
        $headers = 'From:'. $email . "\r\n";
        mb_send_mail($to, $subject, $message, $headers);
    ?>
    
    
    이 URL을 (으)로 설정

    랩 자동화 설정

    /home/pi/lxsession/LXDE-pi/autostart상술한 파일의 맨 아래에 이것을 추가합니다(고무파이의 OS에 따라 다르다고 생각하니 적당히 구글을 하세요.)@python /パス/autosend.py
    겸사겸사 말씀드리지만, autosend.py의 내용.
    autosend.py
    import netifaces
    import mechanize
    
    myip = []
    
    def detectip():
        for iface_name in netifaces.interfaces():
            iface_data = netifaces.ifaddresses(iface_name)
            ip_adressList = iface_data.get(netifaces.AF_INET)
            if ip_adressList != None:
                ip_address = ip_adressList[0]['addr']
                myip.append(ip_address)
        return myip
    
    def sendmail():
        br = mechanize.Browser()
        br.open("http://autosendmail.com")
        br.select_form(nr=0)
        br["ip"] = str(detectip())
        br.submit()
    
    if __name__ == "__main__":
        sendmail()
    
    

    결과


    http://autosendmail.com
    약간의 여분의 물건도 왔지만, 충분히 이렇게 갈 수 있기 때문이다!
    여기서 마치겠습니다.

    좋은 웹페이지 즐겨찾기