質問編集履歴
2
ファイルにアクセス権を付与の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,6 +22,14 @@
|
|
22
22
|
|
23
23
|
もとに作成したものです。python senser.py を実行してgmailが送信されていますので問題はないと思っています。
|
24
24
|
|
25
|
+
追記:アクセス権付与が必要なことを知り、chmodでファイルにアクセス権を不とするため、下記の処理を
|
26
|
+
|
27
|
+
し、再起動したのですが、ダメでした。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
$ sudo chmod +x /home/pi/senser.py
|
32
|
+
|
25
33
|
|
26
34
|
|
27
35
|
# -*- coding: utf-8 -*-
|
1
問題の発生した環境 、生している問題・エラーメッセージの説明の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
+
RasperrPi3B+で、OSはraspbian GNU/Linux 9\n\1 バージョン9.11で、
|
2
|
+
|
1
3
|
rasuberrypi3+bにカメラを装着し、motionで、外部のpcから、画像を見られるようにし、さらに、動体を検出し、
|
2
4
|
|
3
5
|
四角枠で示すようにしたのですが、さらに、動体を検出した時にgmailを送信出来るようにするため、
|
4
6
|
|
5
7
|
|
6
8
|
|
7
|
-
moion.confの中のon_movie_startの後ろに次のようにgmailを送付するスクリプト指定したのですが、送信がされません。どこか、指定が間違っているのかご指導をお願い致します。
|
9
|
+
moion.confの中のon_movie_startの後ろに次のようにgmailを送付するスクリプト指定したのですが、送信がされません。エラーメッセージは、ありません。実行されてそのまま終了しています。どこか、指定が間違っているのかご指導をお願い致します。
|
8
10
|
|
9
11
|
|
10
12
|
|
@@ -15,3 +17,189 @@
|
|
15
17
|
|
16
18
|
|
17
19
|
on_movie_startを使うときは、連動して他に、指定することがあるのでしょうか。
|
20
|
+
|
21
|
+
参考ですが、senser.pyは、"http://make.bcde.jp/python/gmailで簡単にメール送信/のプログラム"を、
|
22
|
+
|
23
|
+
もとに作成したものです。python senser.py を実行してgmailが送信されていますので問題はないと思っています。
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
# -*- coding: utf-8 -*-
|
28
|
+
|
29
|
+
"""
|
30
|
+
|
31
|
+
Gmail
|
32
|
+
|
33
|
+
Gmailで簡単にメール送信
|
34
|
+
|
35
|
+
"""
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
import os.path
|
40
|
+
|
41
|
+
import datetime
|
42
|
+
|
43
|
+
import smtplib
|
44
|
+
|
45
|
+
from email import Encoders
|
46
|
+
|
47
|
+
from email.Utils import formatdate
|
48
|
+
|
49
|
+
from email.MIMEBase import MIMEBase
|
50
|
+
|
51
|
+
from email.MIMEMultipart import MIMEMultipart
|
52
|
+
|
53
|
+
from email.MIMEText import MIMEText
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
#Gmailアカウント
|
58
|
+
|
59
|
+
ADDRESS ="**********"
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
#SMTPサーバの設定(Gmail用)
|
64
|
+
|
65
|
+
SMTP = "smtp.gmail.com"
|
66
|
+
|
67
|
+
PORT = 587
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
def create_message(from_addr, to_addr, subject, body, mime=None, attach_file=None):
|
72
|
+
|
73
|
+
"""
|
74
|
+
|
75
|
+
メッセージを作成する
|
76
|
+
|
77
|
+
@:param from_addr 差出人
|
78
|
+
|
79
|
+
@:param to_addr 宛先
|
80
|
+
|
81
|
+
@:param subject 件名
|
82
|
+
|
83
|
+
@:param body 本文
|
84
|
+
|
85
|
+
@:param mime MIME
|
86
|
+
|
87
|
+
@:param attach_file 添付ファイル
|
88
|
+
|
89
|
+
@:return メッセージ
|
90
|
+
|
91
|
+
"""
|
92
|
+
|
93
|
+
msg = MIMEMultipart()
|
94
|
+
|
95
|
+
msg["From"] = from_addr
|
96
|
+
|
97
|
+
msg["To"] = to_addr
|
98
|
+
|
99
|
+
msg["Date"] = formatdate()
|
100
|
+
|
101
|
+
msg["Subject"] = subject
|
102
|
+
|
103
|
+
body = MIMEText(body)
|
104
|
+
|
105
|
+
msg.attach(body)
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
# 添付ファイル
|
110
|
+
|
111
|
+
if mime != None and attach_file != None:
|
112
|
+
|
113
|
+
attachment = MIMEBase(mime['type'],mime['subtype'])
|
114
|
+
|
115
|
+
file = open(attach_file['path'])
|
116
|
+
|
117
|
+
attachment.set_payload(file.read())
|
118
|
+
|
119
|
+
file.close()
|
120
|
+
|
121
|
+
Encoders.encode_base64(attachment)
|
122
|
+
|
123
|
+
msg.attach(attachment)
|
124
|
+
|
125
|
+
attachment.add_header("Content-Disposition","attachment", filename=attach_file['name'])
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
return msg
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
def send(from_addr, to_addrs, msg):
|
134
|
+
|
135
|
+
"""
|
136
|
+
|
137
|
+
メールを送信する
|
138
|
+
|
139
|
+
@:param from_addr 差出人
|
140
|
+
|
141
|
+
@:param to_addr 宛先(list)
|
142
|
+
|
143
|
+
@:param msg メッセージ
|
144
|
+
|
145
|
+
"""
|
146
|
+
|
147
|
+
smtpobj = smtplib.SMTP(SMTP, PORT)
|
148
|
+
|
149
|
+
smtpobj.ehlo()
|
150
|
+
|
151
|
+
smtpobj.starttls()
|
152
|
+
|
153
|
+
smtpobj.ehlo()
|
154
|
+
|
155
|
+
smtpobj.login( ADDRESS, "*************")
|
156
|
+
|
157
|
+
smtpobj.sendmail(from_addr, to_addrs, msg.as_string())
|
158
|
+
|
159
|
+
smtpobj.close()
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
if __name__ == '__main__':
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
#宛先アドレス
|
170
|
+
|
171
|
+
to_addr = "***********@gmail.com"
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
#件名と本文
|
176
|
+
|
177
|
+
subject = "動体検知"
|
178
|
+
|
179
|
+
body = "動くものを発見しました。"
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
#添付ファイル設定(text.txtファイルを添付)
|
184
|
+
|
185
|
+
mime={'type':'text', 'subtype':'comma-separated-values'}
|
186
|
+
|
187
|
+
attach_file={'name':'test.txt', 'path':'./text.txt'}
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
#メッセージの作成(添付ファイルあり)
|
192
|
+
|
193
|
+
msg = create_message(ADDRESS, to_addr, subject, body, mime, attach_file)
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
#メッセージ作成(添付ファイルなし)
|
198
|
+
|
199
|
+
#msg = create_message(ADDRESS, to_addr, subject, body)
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
#送信
|
204
|
+
|
205
|
+
send(ADDRESS, [to_addr], msg)
|