阿里云服务器发送邮件: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. View Controller Programming Guid for iOS 笔记

    1.View Controller 基础 1.1 View Controller 分类 ViewController分为container view controller 和content view ...

  2. 在浏览器中输入www.taobao.com后执行的全部过程

    >>>点击网址后,应用层的DNS协议会将网址解析为IP地址: DNS查找过程: 1.        浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程 ...

  3. docker 部署oracle

    Oracle数据库服务器Docker映像文档 Oracle Database Server 12c R2是行业领先的关系数据库服务器.Oracle数据库服务器Docker映像包含在Oracle Lin ...

  4. Elasticsearch vs Solr 搜索引擎对比和选型

    前言 全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选. 基于Lucene它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Githu ...

  5. redis重命名flushall和flushdb重启失败

    redis重命名flushall和flushdb,将使用中的redis重命名redis会启动失败并且log中有报错 # Unknown command 'flushall' reading the a ...

  6. AtCoder Grand Contest 032 B - Balanced Neighbors——构造

    题意 B - Balanced Neighbors 给定一个整数 $N$($3\leq N \leq 100$),构造一个顶点编号为 $1...N$ 的无向图,需满足如下两个条件: 简单图且连通 存在 ...

  7. Bootstrap 表单布局示例

    <html> <head> <link href="../../dist/css/bootstrap.min.css" rel="style ...

  8. win32窗口程序分析

    1.分析消息的附加参数 例如:为了查看程序处理了哪些消息   在回调函数中调用输出函数,在控制台中输出消息的值:

  9. 什么是php面向对象及面向对象的三大特性

    什么是面向对象? 面向对象编程,也就是我们常说的OOP,其实是面向对象的一部分.面向对象一共有3个部分:面向对象分析(OOA).面向对象设计(OOD).面向对象编程(OOP).我们现在将要学习的就是面 ...

  10. PostgreSQL 慢查询SQL语句跟踪

    示例:启用 SQL 跟踪PostgreSQL 日志支持的输出格式有 stderr(默认), csvlog , syslog 一般的错误跟踪,只需在配置文件 [postgresql.conf]简单设置几 ...