raspberry Pi を使って人感センサーに反応したらiPhoneにお知らせする物を作りたいと思い、調べたところ下記のサイトを発見しました。
https://www.sho-yamane.me/entry/2015/06/07/195407
こちらを参考にgmailのアドレス、パスワードを変更して実行してみたのですが、
python
1line 52 2 return msg 3 SyntaxError: 'return' outside function
とエラーが表示されます。
python
1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3from __future__ import print_function 4import os.path 5import datetime 6import smtplib 7import socket 8import time 9import RPi.GPIO as GPIO 10GPIO.setmode(GPIO.BCM) 11GPIO.setup(25, GPIO.IN) 12from contextlib import closing 13from email import Encoders 14from email.Utils import formatdate 15from email.MIMEBase import MIMEBase 16from email.MIMEMultipart import MIMEMultipart 17from email.MIMEText import MIMEText 18 19#Gmailアカウント 20ADDRESS = "アドレス" 21PASSWARD = "パスワード" 22 23#SMTPサーバの設定(Gmail用) 24SMTP = "smtp.gmail.com" 25PORT = 587 26def create_message(from_addr, to_addr, subject, body, mime=None, attach_file=None): 27 """ 28 メッセージを作成する 29 @:param from_addr 差出人 30 @:param to_addr 宛先 31 @:param subject 件名 32 @:param body 本文 33 @:param mime MIME 34 @:param attach_file 添付ファイル 35 @:return メッセージ 36 """ 37 msg = MIMEMultipart() 38 msg["From"] = from_addr 39 msg["To"] = to_addr 40 msg["Date"] = formatdate() 41 msg["Subject"] = subject 42 body = MIMEText(body) 43 msg.attach(body) 44 45# 添付ファイル 46 if mime != None and attach_file != None: 47 attachment = MIMEBase(mime['type'],mime['subtype']) 48 file = open(attach_file['path']) 49 attachment.set_payload(file.read()) 50 file.close() 51 Encoders.encode_base64(attachment) 52 msg.attach(attachment) 53 attachment.add_header("Content-Disposition","attachment", filename=attach_file['name']) 54 55 return msg 56 57 58 if mime != None and attach_file != None: 59 attachment = MIMEBase(mime['type'],mime['subtype']) 60 file = open(attach_file['path']) 61 attachment.set_payload(file.read()) 62 file.close() 63 Encoders.encode_base64(attachment) 64 msg.attach(attachment) 65 attachment.add_header("Content-Disposition","attachment", filename=attach_file['name']) 66 67 return msg 68 69def send(from_addr, to_addrs, msg): 70 """ 71 メールを送信する 72 @:param from_addr 差出人 73 @:param to_addr 宛先(list) 74 @:param msg メッセージ 75 """ 76 smtpobj = smtplib.SMTP(SMTP, PORT) 77 smtpobj.ehlo() 78 smtpobj.starttls() 79 smtpobj.ehlo() 80 smtpobj.login(ADDRESS, PASSWARD) 81 smtpobj.sendmail(from_addr, to_addrs, msg.as_string()) 82 smtpobj.close() 83 84if __name__ == '__main__': 85#宛先アドレス 86 to_addr = "アドレス" 87#件名と本文 88 subject = "侵入者あり!" 89 body = "たった今侵入者がありました!警戒してください!" 90#添付ファイル設定(text.txtファイルを添付) 91 mime={'type':'text', 'subtype':'comma-separated-values'} 92 attach_file={'name':'test.txt', 'path':'./text.txt'} 93#メッセージの作成(添付ファイルあり) 94#msg = create_message(ADDRESS, to_addr, subject, body, mime, attach_file) 95#メッセージ作成(添付ファイルなし) 96while True: 97 inputValue = GPIO.input(25) 98if (inputValue == True): 99 msg = create_message(ADDRESS, to_addr, subject, body) 100 send(ADDRESS, [to_addr], msg) 101 time.sleep(1)
何が原因なのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/22 22:51
2016/08/22 23:00