程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

vmware虛擬機linux系統中使用python發送郵件失敗原因

編輯:Python

摸索了很長時間,網上大部分都是關於25端口封閉的處理方法,另一種方法卻是不容易發現,也不容易察覺,這種情況往往表現在,在阿裡雲服務器中可以成功發送郵件,而在本地vmware linux虛擬機中無法發送,處理方式如下:

一、有兩種原因導致python發送郵件報錯(java也一樣適用)

  • 原因1:25端口封閉;解決方法:使用465端口發送;
  • 原因2:hostname主機名沒有映射;解決方法:在/etc/hosts中映射。

二、25端口封閉的解決辦法

使用465端口發送郵件,python實現的源代碼如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :smtp.py
# @Time :2020/11/25 13:21
# @Author :Oscar
import smtplib
from smtplib import SMTPException
from email.header import Header
from email.mime.text import MIMEText
mail_host = 'smtp.163.com'
mail_user = '[email protected]'
mail_pass = 'xxx'
mail_port = 465
# 發送郵件
def send_email(subject, content, to):
# noinspection PyBroadException
try:
print("發送通知郵件。")

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved