• 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
What's Hot

机械模具加工公司网站设计案例

24 10 月, 2023

快速原型公司案例

24 10 月, 2023

陶瓷加工网站案例

24 10 月, 2023
Facebook Twitter Instagram
  • 中文
  • English
Facebook Twitter Instagram
VPSEO VPSEO
  • 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
VPSEO VPSEO
Home»aliyun»阿里云使用SSL加密465端口发送邮件样例及Demo
aliyun

阿里云使用SSL加密465端口发送邮件样例及Demo

chrispengcnBy chrispengcn7 8 月, 2021没有评论2 Mins Read
Facebook Twitter Pinterest LinkedIn Tumblr Email
Share
Facebook Twitter LinkedIn Pinterest Email

阿里云使用SSL加密465端口发信样例及Demo

 

   

 我的收藏

  •  新手学堂
  •  学习路径
本页目录
  • 适用场景
  • 基本原理
  • 实现要点
  • 具体实现
  • 调试方法

适用场景

因服务器的25端口默认封闭,需要使用SSL加密端口(通常是465)来对外发信,以下样例适用于程序调用外部邮箱发信的场景,调用的邮箱服务器需要支持SSL加密。这里介绍.NET和PHP的样例,其他语言实现方法思路基本相同。

基本原理

通过连接外部邮箱的发信服务器,并通过程序配置的账号密码鉴权验证来发送邮件,而不是服务器本身来发送邮件。基本原理与本地电脑使用outlook等客户端连接邮箱服务器发送邮件一致。

实现要点

基本实现方式与连接25端口发送邮件一致,但改为SSL加密协议后,需要特别注意:

  • 将连接外部邮箱服务器的端口改为邮箱服务器的SSL加密端口(通常是465端口),具体配置可以与邮箱服务商咨询。
  • 在程序中启用SSL加密协议连接邮箱服务器。

具体实现

  • .NET源代码实现样例及Demo(适用于Windows操作系统)
  • PHP源代码及Demo
  • ASP源代码及Demo

    .NET源代码实现样例及Demo

截取部分源代码样例如下:

MailMessage mmsg = new MailMessage();
//邮件主题
mmsg.Subject = "主题";
mmsg.BodyFormat = MailFormat.Html;
//邮件正文
mmsg.Body = "正文";
//正文编码
mmsg.BodyEncoding = Encoding.UTF8;
//优先级
mmsg.Priority = MailPriority.High;
//发件者邮箱地址
mmsg.From = "xxxxxx";
//收件人收箱地址
mmsg.To = "xxxxxx";
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//用户名
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "xxxxxx");
//密码
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "xxxxxx");
//端口
mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
//使用SSL mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
//Smtp服务器
System.Web.Mail.SmtpMail.SmtpServer = "smtp.xx.com";
SmtpMail.Send(mmsg);

Demo下载

可将以上Demo上传至服务器测试发信是否能够成功。

PHP源代码及Demo

截取部分源代码样例如下

<?php
require 'PHPMailerAutoload.php';
require_once('class.phpmailer.php');
require_once("class.smtp.php");
$mail = new PHPMailer();
$mail->CharSet ="UTF-8"; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->SMTPSecure = "ssl"; // 启用SSL
$mail->SMTPDebug = 2;
$mail->Host = "smtp.xxx.com"; // SMTP 服务器
$mail->Port = 465; // SMTP服务器的端口号
$mail->Username = "xxx@xxx.com"; // SMTP服务器用户名
$mail->Password = "xxx"; // SMTP服务器密码
$mail->SetFrom('xxx@xxx.com', 'qq'); // 设置发件人地址和名称
$mail->AddReplyTo("xxx@xxx.com","xxx@xxx.com");
// 设置邮件回复人地址和名称
$mail->Subject = 'xxx'; // 设置邮件标题
$mail->AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端";
// 可选项,向下兼容考虑
$mail->MsgHTML('<html>helo</html>'); // 设置邮件内容
$mail->AddAddress('xxx@xxx.com', "xxx@xxx.com");
//$mail->AddAttachment("images/phpmailer.gif"); // 附件
if(!$mail->Send()) {
echo "发送失败:" . $mail->ErrorInfo;
} else {
echo "恭喜,邮件发送成功!";
}
?>

Demo下载

可将以上Demo上传至服务器测试发信是否能够成功。

ASP源代码及Demo

<%
Set Mail = CreateObject("CDO.Message")
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="smtp.126.com"
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") ="xxx@126.com"
Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") ="xxxxx"
Mail.Configuration.Fields.Update
Mail.Subject="Email subject"
Mail.From="xxxxx"
Mail.To="xxxx"
Mail.TextBody="This is an email message."
Mail.Send
Set Mail = Nothing
%>
<%="发送成功!!!"%>

Demo下载

调试方法

  1. 联系邮箱服务商拿到使用SSL加密方式发信的设置。通常包含:
    • 发信服务器地址,如smtp.xx.com
    • 发信服务器端口号,加密端口一般是465,普通端口25
    • 邮箱用户名,可能是email地址,也可能是email地址前缀,具体可咨询邮箱服务商
    • 邮箱客户端密码,部分邮箱服务商Web浏览器登录界面的登录密码和客户端密码并不相同,可能需要单独设置,具体可咨询邮箱服务商。
  2. 在本地电脑使用客户端软件(Outlook,Foxmail等),使用上述拿到的配置来设置本地客户端,并发信测试,如果不能发送,也需要联系邮箱服务商。具体配置方法略。这步主要是验证第1步拿到的配置是否正确,如果配置不正确,本地发信就会报错。

  3. 把程序中的邮箱服务器配置项按照上述测试通过的配置来编写,并实际发信测试。

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
chrispengcn
  • Website

Related Posts

网站无法访问,阿里云的技术支持真的好 – 记一次乌龙事件

7 8 月, 2021
Add A Comment

Leave A Reply Cancel Reply

*

code

导航
  • 首页
  • 关于我们
  • 服务项目
  • 项目案例
  • 博客文章
  • 联系我们
博客
  • 服务器运维
  • 服务器安装
  • nginx
  • PHP
  • WordPress
  • Python
  • Javascript
  • SEO
  • 电子商务
  • 大数据采集
  • 宝塔面板
  • 数据库
  • 电子商务
  • 虚拟化
  • 阿里云
导航
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们
最新文章
  • 机械模具加工公司网站设计案例
  • 快速原型公司案例
  • 陶瓷加工网站案例
  • CNC数控加工日文网站案例
  • 触摸一体机数字标牌厂家网站案例
关于我们
关于我们

广州纬来科技有限公司
联系地址:广东省广州市番禺区富华中路富源二街18号合和大厦809

QQ : 13602156
Email : 13926026058@139.com
Contact: +86 13926026058

Facebook Twitter YouTube LinkedIn
© 2025 广州纬来科技有限公司 粤ICP备2023105857号-2
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们

Type above and press Enter to search. Press Esc to cancel.