一个让你能够使用 POST 请求发送邮件的简易 Flask Server
-
安装 Flask
sudo pip install Flask
-
在 postmail.py 开头配置必要参数
DEFAULT_RECEIVER = "" # 缺省的邮件接收邮箱 DEFAULT_SENDER_NAME = "" # 缺省的发送者姓名 MAIL_HOST = "" # SMTP服务器地址, 如 smtp.126.com MAIL_ADDRESS = "" # 服务器登录的邮箱地址 PASSWORD = "" # 服务器登录的邮箱密码
-
运行服务器,默认运行在 80 端口以及对应 url 是 '/mail'
python run.py
-
然后就可以用 POST 请求发邮件了! 你甚至不需要指定收件人,因为配置里有『默认收件人』这一选项
import requests response = requests.post('http://www.yourserver.com/mail', data={ 'subject': "PostMail!", 'content': "This mail is sent by PostMail!" })
-
使用安全密钥来提升安全性 修改postmail.py文件开头的秘钥选项
SECRET_KEY = "your_key" # 用于验证身份的key, 留空表示不启用key验证机制
然后你的所有请求都必须包含正确的key才会被执行发送
import requests response = requests.post('http://www.yourserver.com/mail', data={ 'key': "your_key", 'subject': "PostMail!", 'content': "This mail is sent by PostMail!" })
-
HTML 邮件支持 你能使用 PostMail 来发送HTML邮件, 只需要在请求中附带
'subtype'
参数并设置为'html'
即可。这一选项默认为'plain'
import requests response = requests.post('http://www.yourserver.com/mail', data={ 'subtype': "html", 'subject': "PostMail!", 'content': "This mail is sent by PostMail!" })
-
install Flask
sudo pip install Flask
-
set up the configurations at the beginning of postmail.py
DEFAULT_RECEIVER = "" # 缺省的邮件接收邮箱 DEFAULT_SENDER_NAME = "" # 缺省的发送者姓名 MAIL_HOST = "" # SMTP服务器地址, 如 smtp.126.com MAIL_ADDRESS = "" # 服务器登录的邮箱地址 PASSWORD = "" # 服务器登录的邮箱密码
-
run the server, the server is default running on port 80 and set on url of '/mail'.
python run.py
-
use POST to send the mail! you don't even need to set the mail receiver!
import requests response = requests.post('http://www.yourserver.com/mail', data={ 'subject': "PostMail!", 'content': "This mail is sent by PostMail!" })
- Flask
-
Use a key to enhance security modify the string at the beginning of postmail.py
SECRET_KEY = "your_key" # 用于验证身份的key, 留空表示不启用key验证机制
Then all the request must contain the valid key as parameter
import requests response = requests.post('http://www.yourserver.com/mail', data={ 'key': "your_key", 'subject': "PostMail!", 'content': "This mail is sent by PostMail!" })
-
HTML mail support you can use PostMail to send HTML mail by setting 'subtype' as 'html', which is default set to 'plain'
import requests response = requests.post('http://www.yourserver.com/mail', data={ 'subtype': "html", 'subject': "PostMail!", 'content': "This mail is sent by PostMail!" })
MIT