2017-04-09 3 views
0

実行時にいつでも日付と時刻をメールで知らせるプログラムを作ろうとしています。 私はsmtlibを使用しており、既にメッセージとして文字列を使用していることを確認しています。正常に動作しています。しかし、datetime変数を追加して文字列に変換するたびに、空のメールが送信されます。datetimeをSMTPLIBで送ることはできませんPython

import smtplib 
import datetime 

b=datetime.datetime.time(datetime.datetime.now()) 

print b 

svr = smtplib.SMTP("smtp.gmail.com:587") 
svr.starttls() 
svr.login("******@*****", "*********") 

msg = str(b) 


svr.sendmail("******@*****", "******@*****", msg) 
print ("Terminate") 

svr.quit() 
+0

空白のメッセージここでは、コードです。 –

+0

msgには、ヘッダー、空白行、メッセージ本文が含まれている必要があります。 – VPfB

答えて

-2

私が行っているたもの、これはちょっと厄介ですが、それは動作しますが、しかしbリストでcと呼ばれ、代わりにリストに送信され、残念ながら私は何をやっては動作しない理由はわかりません。.. 。

import smtplib 
import datetime 
b = datetime.datetime.time(datetime.datetime.now()) 
c = [] 
c.insert(0, b) 
server = smtplib.SMTP('smtp.gmail.com:587') 
server.starttls() 
server.login("***********", "***********") 

msg = '' + str(c) + '' 
server.sendmail("**********", "*********", msg) 
server.quit() 
raise SystemExit 
+0

なんらかの理由で私は以下のような特殊文字を送ることはできません。 smtplibを介してなど。 –

+0

どちらもできません...ちょうど試しました – Monkeybike123

+0

おそらくGoogleのセキュリティ問題です。 –

1

あなたはヘッダを追加する必要があり、あなたのmsgへ:いいえ、まだ

headers = "From: From Person \r\n" 
headers += "To: To Person \r\n" 
headers += "Subject: \r\n" 
headers += "\r\n" 
msg = headers + msg 
+0

IMHOを喜ばれました、これは問題を修正します。もちろん、有効なメールアドレスを入力する必要があります。 RFC2822では、ヘッダー行はCRLFで終わらなければならないと述べています。つまり、\ r \ nとなります。 – VPfB

+0

理論的には、動作しますが、動作します。そして、あなたは '\ r \ n'について正しいです、私は自分の投稿を更新します。 –

関連する問題