2017-04-10 13 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를 제공하는 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) 

주 .