お世話になります。
ラズパイにてG-MAILのAPIを使用してメール送受信を定期実行させるプログラムを製作しているのですが
うまく動作せず困っております。。。
pycharm上で正常動作を確認し、さらにラズパイにpythonファイルを転送してラズパイのterminal上で
コマンドを実行してラズパイ上でも動作するところまで確認できています。
ただ、これをcronで設定して動作させようとすると何故か動作しません。。。【添付画像】
プログラム自体はPC/ラズパイで動作しているので間違いはないと思っているのですが
cronで動かないのが何故か解らないのです。。。。
色々調べたのですが、どうしても解らずすいませんが熟練の方々の知恵でアドバイス頂きたく
お手数です何とか宜しくお願い致します。
※ラズパイでcronの起動確認コマンドを実施したところ、cronは起動しているようです。【追記】
python
1from google.oauth2.credentials import Credentials 2from googleapiclient.discovery import build 3import json 4import base64 5import smtplib 6from email.mime.text import MIMEText 7from email.utils import formatdate 8 9 10def get_header(headers, name): 11 for h in headers: 12 if h['name'].lower() == name: 13 return h['value'] 14 15mail_data_list = [] 16 17def main_recieve(): 18 scopes = ['https://mail.google.com/'] 19 creds = Credentials.from_authorized_user_file('token.json', scopes) 20 service = build('gmail', 'v1', credentials=creds) 21 22 messages = service.users().messages().list(userId = 'me', q = 'from: ipsum.240s-o.m@docomo.ne.jp').execute().get('messages') 23 24 for message in messages: 25 # print('=' * 30) 26 m_data = service.users().messages().get(userId = 'me', id = message['id']).execute() 27 28 # ヘッダー情報を取得 29 headers = m_data['payload']['headers'] 30 31 # 日付情報を取得 32 message_data = get_header(headers, 'date') 33 # print('日付: ' + str(message_data)) 34 35 #差出人情報を取得 36 from_data = get_header(headers, 'from') 37 # print('差出人: ' + str(from_data)) 38 39 # 宛先情報を取得 40 to_data = get_header(headers, 'to') 41 # print('宛先: ' + str(to_data)) 42 43 #件名情報を取得 44 sub_data = get_header(headers, 'subject') 45 mail_data_list.append(sub_data) 46 # print('件名: ' + str(sub_data)) 47 48 49def main_send(): 50 sendaddress = 'roidandios.2576@gmail.com' 51 password = '*********' 52 53 subject = 'テストメール' 54 bodyText = f'テストプログラム{mail_data_list}' 55 fromAddress = 'roidandios.2576@gmail.com' 56 toAddress = 'light.and.dark.7625@gmail.com' 57 58 smtpobj = smtplib.SMTP('smtp.gmail.com', 587) 59 smtpobj.starttls() 60 smtpobj.login(sendaddress, password) 61 62 msg = MIMEText(bodyText) 63 msg['Subject'] = subject 64 msg['From'] = fromAddress 65 msg['To'] = toAddress 66 msg['Date'] = formatdate() 67 68 smtpobj.send_message(msg) 69 smtpobj.close() 70 71 72if __name__ == '__main__': 73 main_recieve() 74 main_send()
raspi
1progman-7916@raspberrypi:~ $ sudo /etc/init.d/cron status 2● cron.service - Regular background program processing daemon 3 Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) 4 Active: active (running) since Fri 2021-12-31 02:31:14 JST; 9h ago 5 Docs: man:cron(8) 6 Main PID: 370 (cron) 7 CGroup: /system.slice/cron.service 8 └─370 /usr/sbin/cron -f 9 1012月 31 11:36:01 raspberrypi CRON[10157]: (CRON) info (No MTA installed, discarding output) 1112月 31 11:36:01 raspberrypi CRON[10157]: pam_unix(cron:session): session closed for user progman-7916 1212月 31 11:39:01 raspberrypi CRON[10220]: pam_unix(cron:session): session opened for user progman-7916 by (uid=0) 1312月 31 11:39:01 raspberrypi CRON[10224]: (progman-7916) CMD (python /home/progman-7916/mail_recieve.py) 1412月 31 11:39:01 raspberrypi CRON[10220]: (CRON) info (No MTA installed, discarding output) 1512月 31 11:39:01 raspberrypi CRON[10220]: pam_unix(cron:session): session closed for user progman-7916 1612月 31 11:42:01 raspberrypi CRON[10259]: pam_unix(cron:session): session opened for user progman-7916 by (uid=0) 1712月 31 11:42:01 raspberrypi CRON[10263]: (progman-7916) CMD (python /home/progman-7916/mail_recieve.py) 1812月 31 11:42:02 raspberrypi CRON[10259]: (CRON) info (No MTA installed, discarding output) 1912月 31 11:42:02 raspberrypi CRON[10259]: pam_unix(cron:session): session closed for user progman-7916
回答1件
あなたの回答
tips
プレビュー