Linux系统分别调用不同邮件服务器465端口发送短信

环境:centos7.2 python2.7.6 简介:通过编写的Python 脚本实现调用不同的邮件服务器465 端口发送短信。共四个。 脚本内容如下,具体内容不做介绍,主要是讲解如何通过该脚本实现上述需求。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
print("邮件发送测试默认使用的是465端口,邮件主机是使用的smtp.163.com")
my_sender = raw_input("邮件账户:")
my_pass = raw_input("邮件密码:")
my_user = raw_input("收件人:")

def mail():
    ret=True
    try:
        msg=MIMEText('填写邮件内容','plain','utf-8')
        msg['From']=formataddr(["我是发件人",my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To']=formataddr(["我是收件人",my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject']="我是邮件主题发送邮件测试"                # 邮件的主题,也可以说是标题

        server=smtplib.SMTP_SSL("smtp.163.com", 465)  # 发件人邮箱中的SMTP服务器,端口是加密465端口
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
    except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret=False
    return ret

ret=mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")

测试一:

通过该脚本调用 163 邮箱的 smtp 465 端口发送短信。测试前,如果没有 163 邮箱需要首先注册一个 163 邮箱。
Linux系统分别调用不同邮件服务器465端口发送短信

参考上述信息填写好注册信息后 ,点击 立即注册。然后在新界面点击进入邮箱。

Linux系统分别调用不同邮件服务器465端口发送短信
进入邮箱界面后 点击设置--选择如下图标注选项。
Linux系统分别调用不同邮件服务器465端口发送短信
然后再下图勾画部分设置授权码
Linux系统分别调用不同邮件服务器465端口发送短信
设置授权码的时候 需要您重新验证 手机验证码、
Linux系统分别调用不同邮件服务器465端口发送短信
然后输入授权码,此授权码后续发送邮件需要用到。
Linux系统分别调用不同邮件服务器465端口发送短信
后续就需要我们连接centos 服务器。然后 vim 创建一个 sendmail.py 文件。将脚本内容粘贴进去,因为脚本默认是 163 的 。所以不用进行更改。
Linux系统分别调用不同邮件服务器465端口发送短信
保存后退出,然后chmod +x sendmail.py 给对应脚本文件授权。并执行python sendmail.py 然后输入163 账号 授权码,收件人邮箱地址,然后依次回车就可以看是否发送成功。效果如图。
Linux系统分别调用不同邮件服务器465端口发送短信
二,通过qq邮箱smtp 发送邮件。

第一步注册qq邮箱,详细过程就不介绍了。和 163 邮箱注册流程基本一致。

qq 邮箱注册好后,点击设置界面。如下图。
Linux系统分别调用不同邮件服务器465端口发送短信
找到如图所示位置
Linux系统分别调用不同邮件服务器465端口发送短信
点击验证后会有一个授权码出现,该授权码就是用来发送邮件时需要验证的 。
Linux系统分别调用不同邮件服务器465端口发送短信
上述流程 操作完毕后,接下来就是 打开centos 系统 找到对应脚本,进行 修改。qq邮箱可以修改为smtp.qq.com 465 端口不变 脚本上方的 print 那也可以修改下,这个只是一个输出的内容。为了看着舒服,如果你通过qq 邮箱发送邮件就把后面的smtp地址修改为qq 的就可以了。
Linux系统分别调用不同邮件服务器465端口发送短信
接下来验证下成果。成功接收到了邮件。
Linux系统分别调用不同邮件服务器465端口发送短信
测试三。验证通过阿里云个人邮箱发送邮件。

首先注册一个 阿里邮箱。注册好后该smtp 和 pop 是默认开启的。不用单独设置授权码,

直接登陆centos 服务器,打开sendmail 脚本。然后 修改 邮件服务器为 smtp.aliyun.com 保存 。退出。
Linux系统分别调用不同邮件服务器465端口发送短信

直接验证是否可以发信。测试成功,但是没有收到邮件。最后发现是被认定为垃圾邮件被退信了。。。。
Linux系统分别调用不同邮件服务器465端口发送短信
测试四 通过139邮箱发送邮件。139 邮箱smtp默认开启。地址是smtp.139.com
Linux系统分别调用不同邮件服务器465端口发送短信

测试发送。成功。
Linux系统分别调用不同邮件服务器465端口发送短信

上一篇:nginx配置出错duplicate location “/”nginx: [emerg] duplicate location “/”


下一篇:windows server 2012/2016 检测更新显示0x80244022代码