2017-04-10 7 views
14

私は、特定のことが起こったときにSMSを介して人々に通知したい。それはかなりストレートにすべきだと思われる。しかし、SMSが届くと、メッセージに送信者と件名が表示されます。メッセージを調整してメッセージを削除する方法はわかりません。どのように書式設定するSMSとして送信する電子メール

import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 

message = MIMEMultipart() 
message['From'] = "[email protected]" 
message['To'] = "[email protected]" 
message['Subject'] = "FOOBAR!" 

text = "Hello, world!" 
message.attach(MIMEText(text.encode("utf-8"), "plain", "utf-8")) 

server = smtplib.SMTP("smtp.gmail.com", 587) 
server.starttls() 
server.login(message["From"], "SuperSecretString") 

server.sendmail(message["From"], [message["To"]], text) 

のようなものが生成されます

[email protected]/FOOBAR!/ Hello, world!を、と私は見てみたいすべてが研究のビットを行った後Hello, world!

+3

これは実際にSMSゲートウェイがサポートする電子メールの形式に依存しますが、電子メールとSMSの間に定義された標準マッピングはありません。個人的には、電子メールからSMSへのゲートウェイを放棄し、より簡単でより一貫性のあるJSON APIを提供してSMSを送信するTwilioのようなものを使用することをお勧めします。 –

+1

ええ、私はTwilioを使用して終了しましたが、それは今のことの原則です。 – Batman

答えて

3

あり、SMSメッセージを送信するSMSゲートウェイを使用することに制限されているようですあなたのテキストのフォーマットをあまりにも多くの制御します。

あなたが望む形式でスプリントに私のために作品を送られているテキストの構造上ただし、この修正:私はthisスレッドからこのメッセージ本文の形式を取り、あなたのケースにそれを適応し

import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 

message = MIMEMultipart() 
message['From'] = "[email protected]" 
message['To'] = "[email protected]" 
message['Subject'] = "FOOBAR!" 

text = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" 
     % (message['From'], ", ".join(message['To']), message['Subject'])) 
text += "Hello World!\r\n" 

message.attach(MIMEText(text.encode("utf-8"), "plain", "utf-8")) 

server = smtplib.SMTP("smtp.zoho.com", 587) 
server.starttls() 
server.login(message["From"], "**********") 

server.sendmail(message["From"], [message["To"]], text) 

注意。

関連する問題