お世話になります。
ラズパイにてG-MAILのAPIを使用してメール送受信を定期実行させるプログラムを製作しているのですが
うまく動作せず困っております。。。
pycharm上で正常動作を確認し、さらにラズパイにpythonファイルを転送してラズパイのterminal上で
コマンドを実行してラズパイ上でも動作するところまで確認できています。
ただ、これをcronで設定して動作させようとすると何故か動作しません。。。【添付画像】
プログラム自体はPC/ラズパイで動作しているので間違いはないと思っているのですが
cronで動かないのが何故か解らないのです。。。。
色々調べたのですが、どうしても解らずすいませんが熟練の方々の知恵でアドバイス頂きたく
お手数です何とか宜しくお願い致します。
※ラズパイでcronの起動確認コマンドを実施したところ、cronは起動しているようです。【追記】
python
from google.oauth2.credentials import Credentials from googleapiclient.discovery import build import json import base64 import smtplib from email.mime.text import MIMEText from email.utils import formatdate def get_header(headers, name): for h in headers: if h['name'].lower() == name: return h['value'] mail_data_list = [] def main_recieve(): scopes = ['https://mail.google.com/'] creds = Credentials.from_authorized_user_file('token.json', scopes) service = build('gmail', 'v1', credentials=creds) messages = service.users().messages().list(userId = 'me', q = 'from: ipsum.240s-o.m@docomo.ne.jp').execute().get('messages') for message in messages: # print('=' * 30) m_data = service.users().messages().get(userId = 'me', id = message['id']).execute() # ヘッダー情報を取得 headers = m_data['payload']['headers'] # 日付情報を取得 message_data = get_header(headers, 'date') # print('日付: ' + str(message_data)) #差出人情報を取得 from_data = get_header(headers, 'from') # print('差出人: ' + str(from_data)) # 宛先情報を取得 to_data = get_header(headers, 'to') # print('宛先: ' + str(to_data)) #件名情報を取得 sub_data = get_header(headers, 'subject') mail_data_list.append(sub_data) # print('件名: ' + str(sub_data)) def main_send(): sendaddress = 'roidandios.2576@gmail.com' password = '*********' subject = 'テストメール' bodyText = f'テストプログラム{mail_data_list}' fromAddress = 'roidandios.2576@gmail.com' toAddress = 'light.and.dark.7625@gmail.com' smtpobj = smtplib.SMTP('smtp.gmail.com', 587) smtpobj.starttls() smtpobj.login(sendaddress, password) msg = MIMEText(bodyText) msg['Subject'] = subject msg['From'] = fromAddress msg['To'] = toAddress msg['Date'] = formatdate() smtpobj.send_message(msg) smtpobj.close() if __name__ == '__main__': main_recieve() main_send()
raspi
progman-7916@raspberrypi:~ $ sudo /etc/init.d/cron status ● cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-12-31 02:31:14 JST; 9h ago Docs: man:cron(8) Main PID: 370 (cron) CGroup: /system.slice/cron.service └─370 /usr/sbin/cron -f 12月 31 11:36:01 raspberrypi CRON[10157]: (CRON) info (No MTA installed, discarding output) 12月 31 11:36:01 raspberrypi CRON[10157]: pam_unix(cron:session): session closed for user progman-7916 12月 31 11:39:01 raspberrypi CRON[10220]: pam_unix(cron:session): session opened for user progman-7916 by (uid=0) 12月 31 11:39:01 raspberrypi CRON[10224]: (progman-7916) CMD (python /home/progman-7916/mail_recieve.py) 12月 31 11:39:01 raspberrypi CRON[10220]: (CRON) info (No MTA installed, discarding output) 12月 31 11:39:01 raspberrypi CRON[10220]: pam_unix(cron:session): session closed for user progman-7916 12月 31 11:42:01 raspberrypi CRON[10259]: pam_unix(cron:session): session opened for user progman-7916 by (uid=0) 12月 31 11:42:01 raspberrypi CRON[10263]: (progman-7916) CMD (python /home/progman-7916/mail_recieve.py) 12月 31 11:42:02 raspberrypi CRON[10259]: (CRON) info (No MTA installed, discarding output) 12月 31 11:42:02 raspberrypi CRON[10259]: pam_unix(cron:session): session closed for user progman-7916
まだ回答がついていません
会員登録して回答してみよう