Centos部署發郵件post介面

2021-08-22 15:22:22 字數 2729 閱讀 1744

我將傳送郵件用flask封裝為post介面,直接進行post提交介面來傳送郵件,雖然沒啥用(可以弄個轟炸)。。。

配置環境

**25埠:**25埠為smtp(****** mail transfer protocol,簡單郵件傳輸協議)服務所開放的,是用於傳送郵件。

**465埠(smtps):**465埠是為smtps(smtp-over-ssl)協議服務開放的,這是smtp協議基於ssl安全協議之上的一種變種協議,它繼承了ssl安全協議的非對稱加密的高度安全可靠性,可防止郵件洩露。

網易163郵箱

pop3:pop.126.com

smtp:smtp.126.com

smtp埠號:25

126郵箱

pop3:pop.126.com

smtp:smtp.126.com

smtp埠號:25

qq郵箱

pop3:pop.qq.com 

smtp:smtp.qq.com

smtp埠號:25 (使用ssl時,埠號465或587)

安裝python傳送郵件的模組

pip3 install pyemail
import smtplib

from email.mime.text import mimetext

from email.header import header

import time

class email:

# 第三方 smtp 服務

mail_host = "smtp.139.com" # 設定伺服器

mail_user = "@139.com" # 使用者名稱

mail_pass = "" # 口令

def __init__(self, receivers, message_text, message_header, num):

self.receivers = [receivers] # 傳送的目標

self.message = mimetext(message_text, 'plain', 'utf-8') # 傳送內容

self.message['subject'] = header(message_header, 'utf-8') # 標題

self.num = num # 傳送幾次

def send(self):

try:

smtpobj = smtplib.smtp()

smtpobj.connect(email.mail_host, 25)

smtpobj.login(email.mail_user, email.mail_pass)

smtpobj.sendmail(email.mail_user, self.receivers,

self.message.as_string())

except exception as e:

smtpobj.quit()

raise e + '傳送失敗'

def send_email(self):

for _ in range(self.num):

self.send()

if __name__ == '__main__':

email_163 = email('[email protected]', '測試', '沒有內容', 1)

email_163.send()

接受post請求來呼叫傳送郵件。

安裝flask模組。

pip3 install flask
from flask import flask, request, jsonify

from email_163 import email

def index():

if request.method == 'post':

email = request.form['email']

text = request.form['text']

header = request.form['header']

num = request.form['num']

email_163 = email(email, text, header, int(num))

email_163.send_email()

return 'ok'

if request.method == 'get':

return jsonify('no')

if __name__ == '__main__':

開啟後我在安全組裡新增了25的出口規則。

我用nginx對映的是8001埠到8000

訪問http://網域名稱:8001/email,出現no就是get請求。

可以使用下面的**來測試post請求。

import requests

url = 'http://網域名稱:8001/email'

data =

response = requests.post(url=url, data=data).text

print(response)

python 發郵件 python發郵件

python提供smtplib模組,該模組定義了乙個smtp客戶端會話物件,可用於使用smtp或esmtp偵聽器守護程式向任何網際網路機器傳送郵件。這是乙個簡單的語法,用來建立乙個smtp物件,稍後將演示如何用它來傳送電子郵件 import smtplib smtpobj smtplib.smtp ...

發郵件原理

發 郵件原理 一 郵件伺服器和電子郵箱 郵件伺服器 要在internet 上提供電子郵件功能,必須有專門的電子郵件伺服器。例如現在 internet 很多提供郵件服務的廠商 sina sohu 163 等等他們都有自己的郵件伺服器。這些伺服器類似於現實生活中的郵局,它主要負責接收使用者投遞過來的郵件...

定時發郵件

1.新建服務,新增安裝程式,生成解決方案 在dubug資料夾下複製檔案到d盤cehsi資料夾下 例 2.將installutil.exe 檔案拷貝到ceshi下 在c windows microsoft.net framework 對應的版本路徑下可以找到 3.以管理員身份執行cmd,定位到測試資料...