2017-03-26 17 views
0

このスクリプトは、ディレクトリの内容と個人の電子メールにリストされている電子メールを一覧表示します。それはうまくいきますが、問題は、それぞれのファイルリストを改行するのではなく、巨大なテキストの壁を埋めることです。私は間違って何をしていますか?ディレクトリリストに改行がありません

import os 
import smtplib 
import platform 
from datetime import datetime 

def creation_date(path_to_file): 

    if platform.system() == 'Windows': 
     files = os.listdir(path_to_file) 
     filelist="" 
     for file in files: 
      filecreatedate = datetime.fromtimestamp(os.path.getctime(path_to_file + "\\" + file)) 
      fileinfo="Creation date of {}: {}".format(file, filecreatedate) 
      print("Creation date of {}: {}".format(file, filecreatedate)) 
      filelist=filelist + fileinfo + "\n" 
     return filelist 
     # return os.path.getctime(path_to_file) 
    else: 
     stat = os.stat(path_to_file) 
     try: 
      return stat.st_birthtime 
     except AttributeError: 

      return stat.st_mtime 

def mailsection(filelist): 
    smtpObj = smtplib.SMTP('smtp.gmail.com', 587) 
    smtpObj.ehlo() 
    (250, b'mx.example.com at your service, [216.172.148.131]\nSIZE 35882577\ 
    n8BITMIME\nSTARTTLS\nENHANCEDSTATUSCODES\nCHUNKING') 
    smtpObj.starttls() 
    (220, b'2.0.0 Ready to start TLS') 
    smtpObj.login('********', '*********') 
    (235, b'2.7.0 Accepted') 
    message="Subject:currentfiles\n" + filelist 
    smtpObj.sendmail('********', '********', message) 
    {} 
    smtpObj.quit() 
    (221, b'2.0.0 closing connection ko10sm23097611pbd.52 - gsmtp') 

    mailsection(creation_date("C:\\Users\\asher.vast\\Desktop\\Py\\Projects\\Time Tracker\\ExampleDir")) 
+0

電子メールはHTMLとして解釈され、改行は無視されることがあります。 '\ n'を'
'に置き換えてみてください。 –

答えて

0

私の友人の一人が私を助けました。私たちは「電子メールメッセージクラス」を使用して終了しました。これは改行を許可しました。

message = EmailMessage() 
    message["Subject"] = "Current Files" 
    message["From"] = "John Doe <*************@gmail.com>" 
    message["To"] = "Recipient X <*************.com>" 
    message.set_content(filelist, subtype="html") 
    ####message="Subject:currentfiles\r\n" + filelist 
    smtpObj.send_message(message) 
関連する問題