阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110]

一、总结

一句话总结:

端口号port 改成 465,加密方式 encryption 改用 ssl

二、Connection could not be established with host smtp.163.com

转自或参考:Connection could not be established with host smtp.163.com 阿星小栈
https://blog.csdn.net/u010244476/article/details/83190154

 

laravel阿里云屏蔽25,无法发送邮件的解决方案

本地测试邮件可以发送成功,但是部署在阿里云服务器上之后,并且在安全组中配置了25端口的出入后还是不行。

原因是:

阿里云服务器封禁了25

解决办法

  端口号port 改成 465

  加密方式 encryption 改用 ssl

也就是加入了SSL验证

三、laravel中成功配置实例

三、阿里云服务器25邮件端口问题

转自或参考:阿里云服务器25邮件端口问题
https://blog.csdn.net/weixin_30780649/article/details/101627176

配置示例:

spring:
mail:
host: smtp.163.com
username: 1111111@163.com
password: aaaaaaaa
default-encoding: UTF-8
properties:
mail:
smtp:
auth: true
ssl:
trust: smtp.163.com
socketFactory:
class: 'javax.net.ssl.SSLSocketFactory'
port: 465
starttls:
enable: true
required: true

转载于:https://www.cnblogs.com/javabg/p/11398950.html

四、阿里云服务器邮件发送

转自或参考:阿里云服务器邮件发送
https://www.cnblogs.com/eye-like/p/10103783.html

一个邮件发送的功能,本机调试无问题,但发布到阿里云服务器后邮件发送功能失败。

网上查了下大概是说阿里云把发送邮件的25端口禁用掉了

那么解决方式一就是向阿里云申请开放25端口,但具体如何申请,并未深入操作。

解决方式二:使用邮件服务商的加密端口。

但是当使用465端口时,先后试验过smtp.mxhichina.com(阿里企业邮箱)、smtp.163.com(163邮箱)、smtp.qq.com(qq邮箱)三种发送方式,均失败!

再尝试考虑SSL加密SMTP通过587端口进行发件,发送成功。

以下为配置及源码

<?xml version="1.0" encoding="utf-8"?>
<xml>
<!--收件人邮箱地址-->
<ConsigneeAddress>pro@163.com</ConsigneeAddress>
<!--抄送邮箱地址,多个邮箱间用'|'分割-->
<BccAddress></BccAddress>
<!--收件人名称-->
<ConsigneeName>浦泓医疗</ConsigneeName>
<!--发件人名称-->
<ConsigneeHand>微商城</ConsigneeHand>
<!--邮件主题-->
<ConsigneeTheme>睛彩眼界商城订单</ConsigneeTheme>
<!--发件邮件服务器的Smtp设置-->
<SendSetSmtp>smtp.qq.com</SendSetSmtp>
<!--发件人的邮件-->
<SendEmail>124@qq.com</SendEmail>
<!--发件人的邮件密码-->
<SendPwd>boblunxyluwdjjbh</SendPwd>
<!--发件端口号-->
<port>587</port>
<!--邮件内容-->
<SendContent>您有新的订单消息</SendContent>
<!--后台管理地址-->
<serverAddress>http://xxx/admin/login</serverAddress>
</xml>

邮箱配置

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Web;
using System.Xml; namespace MallServer.Utility
{
public class emailhelper
{
public static bool MailSend(emailpara para)
{
try
{ EmailParameterSet EPSModel = new EmailParameterSet();
string filepath = System.Web.HttpContext.Current.Server.MapPath("\\Files\\email\\email.xml");
XmlDocument xml = common.xmlHelper.getXML(filepath);
string BccAddress = xml.SelectSingleNode("xml").SelectSingleNode("BccAddress").InnerText;//邮件抄送地址
string portvalue = xml.SelectSingleNode("xml").SelectSingleNode("port").InnerText; //发送邮件的端口
int port = ;
int.TryParse(portvalue, out port);
string serverAddress= xml.SelectSingleNode("xml").SelectSingleNode("serverAddress").InnerText;//提示跳转的管理地址 EPSModel.ConsigneeAddress = xml.SelectSingleNode("xml").SelectSingleNode("ConsigneeAddress").InnerText;
EPSModel.ConsigneeName = xml.SelectSingleNode("xml").SelectSingleNode("ConsigneeName").InnerText;//
EPSModel.ConsigneeHand = xml.SelectSingleNode("xml").SelectSingleNode("ConsigneeHand").InnerText;//发件人标题
EPSModel.ConsigneeTheme = xml.SelectSingleNode("xml").SelectSingleNode("ConsigneeTheme").InnerText;//收件人的主题
EPSModel.SendSetSmtp = xml.SelectSingleNode("xml").SelectSingleNode("SendSetSmtp").InnerText;//发件邮件服务器的Smtp设置
EPSModel.SendEmail = xml.SelectSingleNode("xml").SelectSingleNode("SendEmail").InnerText;//发件人的邮件
EPSModel.SendPwd = xml.SelectSingleNode("xml").SelectSingleNode("SendPwd").InnerText;
EPSModel.SendContent = xml.SelectSingleNode("xml").SelectSingleNode("SendContent").InnerText; if (para.ConsigneeTheme != "") {
EPSModel.ConsigneeTheme = para.ConsigneeTheme;
}
if (para.SendContent != "") {
EPSModel.SendContent = para.SendContent+"\r\n查看详细请登陆 "+serverAddress;
} //确定smtp服务器端的地址,实列化一个客户端smtp
System.Net.Mail.SmtpClient sendSmtpClient = new System.Net.Mail.SmtpClient(EPSModel.SendSetSmtp);//发件人的邮件服务器地址
//构造一个发件的人的地址
System.Net.Mail.MailAddress sendMailAddress = new MailAddress(EPSModel.SendEmail, EPSModel.ConsigneeHand, Encoding.UTF8);//发件人的邮件地址和收件人的标题、编码 //构造一个收件的人的地址
System.Net.Mail.MailAddress consigneeMailAddress = new MailAddress(EPSModel.ConsigneeAddress, EPSModel.ConsigneeName, Encoding.UTF8);//收件人的邮件地址和收件人的名称 和编码 //构造一个Email对象
System.Net.Mail.MailMessage mailMessage = new MailMessage(sendMailAddress, consigneeMailAddress);//发件地址和收件地址
if (BccAddress != "")
{
string[] addressArr = BccAddress.Split('|');
for (int i = ; i < addressArr.Length; i++)
{
mailMessage.Bcc.Add(new MailAddress(addressArr[i]));//添加抄送
}
} mailMessage.Subject = EPSModel.ConsigneeTheme;//邮件的主题
mailMessage.BodyEncoding = Encoding.UTF8;//编码
mailMessage.SubjectEncoding = Encoding.UTF8;//编码
mailMessage.Body = EPSModel.SendContent;//发件内容
mailMessage.IsBodyHtml = false;//获取或者设置指定邮件正文是否为html //设置邮件信息 (指定如何处理待发的电子邮件)
sendSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定如何发邮件 是以网络来发
sendSmtpClient.EnableSsl = true;//服务器支持安全接连,安全则为true
sendSmtpClient.Port = port;
sendSmtpClient.UseDefaultCredentials = true;//是否随着请求一起发 //用户登录信息
NetworkCredential myCredential = new NetworkCredential(EPSModel.SendEmail, EPSModel.SendPwd);
sendSmtpClient.Credentials = myCredential;//登录 sendSmtpClient.Send(mailMessage);//发邮件
return true;
}
catch (Exception ex)
{
//common.CommonMethod.WriteTxt("ex.message:"+ex.Message);
//common.CommonMethod.WriteTxt("ex.Source:" + ex.Source);
//common.CommonMethod.WriteTxt("ex.StackTrace:" + ex.StackTrace);
return false;
} }
}
}

发邮件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MallServer.Utility
{
public class emailpara
{
public string ConsigneeTheme { get; set; }
public string SendContent { get; set; } }
}

emailpara

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MallServer.Utility
{
public class EmailParameterSet
{
/// <summary>
/// 收件人的邮件地址
/// </summary>
public string ConsigneeAddress { get; set; } /// <summary>
/// 收件人的名称
/// </summary>
public string ConsigneeName { get; set; } /// <summary>
/// 收件人标题
/// </summary>
public string ConsigneeHand { get; set; } /// <summary>
/// 收件人的主题
/// </summary>
public string ConsigneeTheme { get; set; } /// <summary>
/// 发件邮件服务器的Smtp设置
/// </summary>
public string SendSetSmtp { get; set; } /// <summary>
/// 发件人的邮件
/// </summary>
public string SendEmail { get; set; } /// <summary>
/// 发件人的邮件密码
/// </summary>
public string SendPwd { get; set; }
/// <summary>
/// 发件内容
/// </summary>
public string SendContent { get; set; }
}
}

EmailParameterSet

说明:

实例中使用的是qq邮箱,但邮箱的密匙非qq的密码,而是邮箱的独立密码,可以进入qq邮箱,然后在设置-》账户里面设置

并且要保证邮箱的POP3/SMTP服务开启,同样是进入qq邮箱,然后在设置-》账户里面设置

引用:

https://www.cnblogs.com/axinno1/p/8303130.html

阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110]的更多相关文章

  1. c#阿里云服务器发送邮件

    public static void SendMailUse() { string host = "smtp.lotusest.com";// 邮件服务器smtp.163.com表 ...

  2. 阿里云服务器发送邮件失败,25端口被禁用,采用ssl 方式 465端口发送

    /** * 邮件工具类 * User: NZG * Date: 2019/3/8 * Time: 12:25 **/ @Data @Component @Configuration @Configur ...

  3. 阿里云服务器用smtp发送邮件返失败

    阿里云使用SMTP发送邮件失败,因为阿里云服务器屏蔽了25端口,所以发送不成功,解决办法改用587发送QQ邮件,且必须使用SSL,否则不成功. 经测试QQ的465,995不能使用. https://b ...

  4. Django项目部署到阿里云服务器无法发送邮件,发送邮件超时问题解决

    前言 今天, 博主将写了好久的一个Django小项目尝试在阿里云部署上线,由于项目中需要发送邮件,博主调用了163邮箱接口,在本地测试邮件功能正常,可是上线后,邮件功能一直超时崩溃.在百度一番查资料后 ...

  5. xshell连接不上阿里云服务器Could not connect to 'ip' (port 22): Connection failed.解决过程

    记一次xshell阿里云服务器突然连接不上的解决办法: 1, 确认阿里云服务器安全组出入都有22,百度出来都说的这个和ip拦截设置,以防万一都设置了:但楼主设置后,还是连不上服务器: 只好下一步 2, ...

  6. 阿里云服务器25端口禁用之如何使用Java发邮件(解决25端口禁用问题)

    通常我们在本地使用Java发送邮件,通常是没有问题的,但是部署到服务器的话,就可能遇到问题.当然了,这与运营商也有关系.比如我之前在咖啡主机上购买虚拟机,然后将个人网站部署上去,通常是没有问题的,没有 ...

  7. 结合阿里云服务器,使用FTP上传和下载文件,出现的问题和解决方案

    一.FTP出现的问题 二.在网上找的方案 如果使用FileZilla默认设置连接ftp服务器的话可能会报以下错误: 错误: 无法建立数据连接:ECONNREFUSED - Connection ref ...

  8. 阿里云服务器 发送邮箱 STMP 25端口 465端口问题 Javamail 25被禁用

    我们传统使用的比较简单的是 STMP 25端口收发邮件 今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件 开始在网上有说发现是JDK1.8的原因,然后自己也把JDK1.8换到了 ...

  9. 阿里云服务器 通过JavaMail发送邮箱STMP问题( 25端口被禁用 使用SSL协议465端口 )

    我们传统使用的比较简单的是 STMP 25端口收发邮件 今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件 开始在网上有说发现是JDK1.8的原因,然后自己也把JDK1.8换到了 ...

随机推荐

  1. SAP云平台上的ABAP编程环境里如何消费第三方服务

    在ABAP On-Premises环境下,使用ABAP编程消费第三方服务,相信很多ABAP顾问都已经非常熟悉了,无非就是使用CL_HTTP_CLIENT或者CL_REST_HTTP_CLIENT来发送 ...

  2. springboot 日志配置

    maven依赖中添加了 spring-boot-starter-logging : <dependency> <groupId>org.springframework.boot ...

  3. TLS1.3对CIP的影响(对密码套件的解释)

    1.术语定义的即使(算法)Definition of terms (optional) Cipher Suite  :通信数据保护规范,对TLS指定对端身份验证,关键技术机制,后续数据加密和数据验证机 ...

  4. scikit-learn中的机器学习算法封装——kNN

    接前面 https://www.cnblogs.com/Liuyt-61/p/11738399.html 回过头来看这张图,什么是机器学习?就是将训练数据集喂给机器学习算法,在上面kNN算法中就是将特 ...

  5. 最近都会来学一点Python

    https://www.cnblogs.com/hellosecretgarden/p/9206648.html 打开电脑,发现Python都是之前的代码,将近一年之前的时间. 最近都会重新掌握起来, ...

  6. idou老师教你学istio30:Mixer Redis Quota Adapter 实现和机制

    1. 配置 1.1参数 1.2 Params.Quota 1.3Params.Override 1.4Params.QuotaAlgorithm 速率限制的算法: Fixed Window 算法每个时 ...

  7. 2019-ACM-ICPC-徐州站网络赛-M.Longest subsequence-从字符串s中找到一个最长子序列,使得其字典序严格大于t

    2019-ACM-ICPC-徐州站网络赛-M.Longest subsequence-从字符串s中找到一个最长子序列,使得其字典序严格大于t [Problem Description] ​ 从字符串\ ...

  8. FRDM-KL43开发板驱动段式液晶SLCD的实现方法

    LCD的驱动不像LED那样,加上电压(LED实际上是电流驱动)就可以长期显示的. LCD驱动必须使用交流电压驱动才能保持稳定的显示,如果在LCD上加上稳定的直流电压, 不但不能正常显示,时间久了还会损 ...

  9. jQuery 中的 Ajax 方法(节选)

    $.ajax() 基本用法: $.ajax({ url: url, // 地址 data: data, // 参数 type: 'POST', // 提交方式 可以选择 post/get 推荐 pos ...

  10. 前端学习笔记--Visual Studio Code安装及中文显示

    1.在官网https://code.visualstudio.com/下载对应的版本: 2.安装 一路点击下一步,选中  添加到PATH后,安装. 安装成功,可以直接打开使用: 把界面改成中文显示: ...