Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@yukoh

ラズパイ起動後にIPをメールで自動送信

More than 3 years have passed since last update.

ラズパイ起動後にIPをメールで送信

最初はGmailでやろうと思ったんですけど、セキュリティ的に弾かれたので別の方法にしました。

また、ここではメールの送信サーバをインストールしてやってますが、めんどくさかったので、送信専用のウェブページ作って、そこをpythonで自動的に送信させよう。(どっちがめんどくさいかは考えない)
http://raspi.seesaa.net/article/421958492.html

実際は下記になります。

流れ

  1. 送信用メールフォームのあるwebページを作る
  2. そのページからメールを送るようなpythonプログラムを作る
  3. ラズパイからそのプログラムを自動で実行するよう設定する

メール送信するページ作成

どこかで作ったやつをそのまま持ってきました。

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をhttp://autosendmail.com とします

ラズパイの自動化設定

/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()

結果

ss.jpg

少し余計なものも来てますが、十分ですのでこのままいく!

以上です。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?