阿里云服务器不能发邮件禁用25端口的三种解决方法

本文涉及的产品
云服务器ECS,u1 2核4GB 1个月
云服务器 ECS,u1 4核8GB 1个月
云服务器 ECS,u1 2核4GB 3个月
简介: 阿里云服务器不能发邮件禁用25端口的三种解决方法

阿里云发送SMTP邮件失败   阿里云服务器不能发邮件解决方法 ,第三种方法是可以不用25端口,配置465端口阿里云发送邮件是成功的,现在阿里云25端口管理的很严要申请通过难度太大,我申请成功过,也申请失败过,最近后面申请的都失败了,我后面就直接用第三种方法配置465端口就可以用

第一种方法:

公司最近上了一台阿里云服务器,我部署完系统后发现邮件发送不了,啊,怎么会发不了邮件呢?于是找原因发现是阿里云服务器把邮件的默认25端口给禁用掉了为的是不让邮件泛滥,

好吧,于是我想怎么去解封25端口,找了下官方的资料,看懂了但是没有找到对应的菜单在哪里,那个25端口解封功能隐藏的太深,费了好大个功能终于是找到了,上个图,说下菜单的是如何点击到25端口解封功能的,以下是解封的步骤:

第一步:鼠标移上右上角贵司 阿里云账号【南京XXXX】 上, 这个账号就在 【简体中文】功能左边第一个;

第二步:点击【安全管控】;

第三步:点击 【25端口解封】

第四步:点击【25端口解封申请】

第五步:填写申请的 IP和对应的邮箱域名,这里注意的是  服务器IP一定要是 阿里云账号下的服务器,域名的话,不同供应商不同的域名,客户是自己买的阿里云邮箱,邮箱域名是:mail.zhsiwei.com 配置是成功,qq邮箱可以填写 mail.qq.com就是用qq邮箱去发送邮件,qq的大家可以去试试这个域名对不,smtp.qq.com配置申请不成功,126邮箱,雅虎邮箱,这里就不一一罗列,可以去对应的邮箱里面找下就好,切记这个邮箱域名很重要配置不好审核就通不过。

第六步:填写申请表单

第七步:填写之后确定后就静静的等待阿里云客服审核一般最多7个工作日就好了

第二种方法:

想到阿里云喜欢用安全组屏蔽端口,于是我就赶紧去配置了安全规则。进站出站都配置了,结果还是不行,然后索性把防火墙也关了,依旧不行。经过一番折腾,发现阿里自带屏蔽25端口。简直尴尬,后来找了阿里的一些规则文档,发现需要申请开通屏蔽端口。但是经过咨询了阿里工作人员,发现现在已经不开放25端口,因为什么《互联网信息服务管理办法》、《中国互联网协会反垃圾邮件规范》均对垃圾邮件进行说明与管理规范。让我考虑SSL加密SMTP通过465端口进行发件。然后试了一波,发现465发送不了QQ邮件,尝试了587端口成功了。

System.Net.Mail 空间的代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

public static bool SendTheMail(string strto, string subj, string bodys)

{

SmtpClient _smtpClient = new SmtpClient();

_smtpClient.EnableSsl = true;

_smtpClient.UseDefaultCredentials = false;

_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;

_smtpClient.Host = "smtp.qq.com";

_smtpClient.Port = 587;

_smtpClient.Credentials = new System.Net.NetworkCredential("aaa@qq.com""666");

//密码不是QQ密码,是qq账户设置里面的POP3/SMTP服务生成的key

MailMessage _mailMessage = new MailMessage("aaa@qq.com""888@yeah.net");

_mailMessage.Subject = subj;//主题 

_mailMessage.Body = bodys;//内容

_mailMessage.BodyEncoding = Encoding.Default;//正文编码 

_mailMessage.IsBodyHtml = true;//设置为HTML格式 

_mailMessage.Priority = MailPriority.High;//优先级 

try

{

_smtpClient.Send(_mailMessage);

Console.WriteLine("发送成功");

return true;

}

catch (Exception e)

{

Console.WriteLine("发送失败");

throw e;

}

}

第三种方法:

这个方式是官方给的,主要是通过System.Web.Mail.MailMessage来实现发送,大家把这个方法放到自己的项目里面调用就好

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

/// <summary>

/// 通过System.Web.Mail.MailMessage去发送,可以不被阿里云限制25端口的使用

/// 暂时一般都用465端口

/// </summary>

/// <param name="smtpserver">SMTP服务,譬如:smtp.126.com</param>

/// <param name="userName">发件箱</param>

/// <param name="pwd">密码</param>

/// <param name="nickName">昵称</param>

/// <param name="strfrom">发件箱</param>

/// <param name="strto">收件箱</param>

/// <param name="MessageSubject">主题</param>

/// <param name="MessageBody">内容</param>

/// <param name="SUpFile">附件</param>

/// <param name="port">端口</param>

/// <param name="enablessl">SSL加密</param>

/// <returns></returns>

public static bool SendWebEmail(string smtpserver, string userName, string pwd, string nickName, string strfrom, string strto,

    string MessageSubject, string MessageBody, string SUpFile, int port, int enablessl = 0)

{

    System.Web.Mail.MailMessage mmsg = new System.Web.Mail.MailMessage();

    //邮件主题

    mmsg.Subject = MessageSubject;

    mmsg.BodyFormat = System.Web.Mail.MailFormat.Html;

    //邮件正文

    mmsg.Body = MessageBody;

    //正文编码

    mmsg.BodyEncoding = Encoding.UTF8;

    //优先级

    mmsg.Priority = System.Web.Mail.MailPriority.High;

    System.Web.Mail.MailAttachment data = null;

    if (SUpFile != "")

    {

        SUpFile = HttpContext.Current.Server.MapPath(SUpFile);//获得附件在本地地址

        System.Web.Mail.MailAttachment attachment = new System.Web.Mail.MailAttachment(SUpFile); //create the attachment

        mmsg.Attachments.Add(attachment); //add the attachment

    }

    //发件者邮箱地址

    mmsg.From = string.Format("\"{0}\"<{1}>",nickName, strfrom);

    //收件人收箱地址

    mmsg.To = strto;

    mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate""1");

    //用户名

    mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", userName);

    //密码

    mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", pwd);

    //端口

    mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", port);

    //使用SSL

    mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", (enablessl == 1 ? "true" "false"));

    //Smtp服务器

    System.Web.Mail.SmtpMail.SmtpServer = smtpserver;

    try

    {

        System.Web.Mail.SmtpMail.Send(mmsg);

    }

    catch (Exception ex)

    {

        LogHelper.Error(ex.ToString());

        return false;

    }

    return true;

}

  自己亲测试过可以用

相关实践学习
ECS云服务器新手上路
本实验会自动创建一台ECS实例。首先,远程登陆ECS实例,并部署应用。然后,登陆管理控制台,并对这台ECS实例进行管理操作。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
存储 安全 网络安全
服务器设置了端口映射之后外网还是访问不了服务器
服务器设置了端口映射之后外网还是访问不了服务器
若依修改,若依部署在本地运行时的注意事项,后端连接了服务器,本地的vue.config.js要先改成localhost:端口号与后端匹配,部署的时候再改公网IP:端口号
若依修改,若依部署在本地运行时的注意事项,后端连接了服务器,本地的vue.config.js要先改成localhost:端口号与后端匹配,部署的时候再改公网IP:端口号
|
14天前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送&quot;Hello, Server!&quot;后关闭。注意Android中需避免主线程进行网络操作。
36 4
|
2天前
|
JavaScript Linux 网络安全
若依修改,若依启动之后,网页端无法访问接口,宝塔和云服务器的端口都要放开,就好了,软件开发常见流程,后台端口就可以访问了
若依修改,若依启动之后,网页端无法访问接口,宝塔和云服务器的端口都要放开,就好了,软件开发常见流程,后台端口就可以访问了
|
2天前
|
关系型数据库 MySQL Java
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
|
9天前
|
安全 Linux Shell
SSH服务器拒绝密码登录的解决方法
SSH服务器拒绝密码登录的解决方法
26 0
|
12天前
|
网络安全
阿里云8888端口设置安全组,宝塔控制台显示链接失败
阿里云8888端口设置安全组,宝塔控制台显示链接失败
12 0
|
20天前
|
弹性计算 监控 JavaScript
云服务器 ECS产品使用问题之Node.js项目部署成功后无法通过公网IP+端口号访问,是什么导致的
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
20天前
|
弹性计算 人工智能 供应链
云服务器 ECS产品使用问题之端口已加入安全组,但是端口不通,同时服务器已关闭防火墙,是什么导致的
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
8天前
|
弹性计算 安全 前端开发
阿里云服务器ECS通用型、计算型和内存型详细介绍和性能参数表
阿里云ECS实例有计算型(c)、通用型(g)和内存型(r)三种,主要区别在于CPU和内存比例。计算型CPU内存比1:2,如2核4G;通用型为1:4,如2核8G;内存型为1:8,如2核16G。随着技术迭代,有第五代至第八代产品,如c7、g5、r8a等。每代实例在CPU型号和主频上相同,但性能有所提升。实例性能参数包括网络带宽、收发包能力、连接数等。具体应用场景如计算型适合高网络包收发、通用型适合企业级应用,内存型适合内存数据库等。详细信息可参阅阿里云ECS页面。