虚拟主机ASP.NET 使用SSL加密465端口发邮件demo

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 虚拟主机ASP.NET 使用SSL加密465端口发邮件demo

1、背景


因云虚拟主机的25端口默认封闭,需要使用SSL加密端口(通常是465端口)来对外进行发送邮件。很多cms框架的程序如果无法发信,调试需要熟悉框架发信代码,本文通过提供.NET的使用SSL加密465端口的方法和demo,用户测试虚拟主机的发信功能。


2、操作步骤


  1. 提前联系邮箱服务商获取使用SSL加密方式发送邮件的配置信息。

配置项

说明

发邮件服务器地址

输入服务器邮箱地址。例如,a***.example.com。

发邮件服务器端口号

加密端口一般是465端口。

邮箱用户名

可能是Email地址,也可能是Email地址前缀,具体可咨询邮箱服务商。

邮箱客户端密码

部分邮箱服务商Web浏览器登录界面的登录密码和客户端密码并不相同,可能需要单独设置,具体可咨询邮箱服务商。


  1. 根据如下代码demo,编写发信程序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Mail;
public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        MailMessage objMail = new MailMessage();//实例化一个邮件类objMail
        objMail.From = mailFrom.Text;//objMail.From表示原邮件地址 即发送人的邮箱
        objMail.To = mailTo.Text;//objMail.To 表示收件人地址 即收件人邮箱
        objMail.Subject = Subject.Text;//objMail.Subject 表示邮件主题 即邮件的标题
        objMail.Body = Body.Text;//objMail.Body 即邮件的内容
        objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
        objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "xxxxxx@163.com");  //邮箱的用户名
        objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "xxxxxx"); //邮箱smtp服务授权码,邮件服务商提供
        objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
        objMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
        SmtpMail.SmtpServer ="smtp.163.com";//对应邮箱发送邮件的服务器地址,本测试以163邮箱为例
        try
        {
            SmtpMail.Send(objMail);//执行发送操作
            Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<scripts>alert(‘发送成功’)");
        }
        catch (Exception ex)
        {
            Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<scripts>alert(‘发送失败’)"+ex);
        }
    }
}
<%@ Page Language="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1"runat="server">
        <div>
            欢迎使用邮件发信测试文件<br />
            <br />
            <br />
            发件人: <asp:TextBox ID="mailFrom"runat="server"></asp:TextBox>
            <br />
            收件人: <asp:TextBox ID="mailTo"runat="server"></asp:TextBox>
            <br />
            主题:&nbsp; 
            <br />
            <asp:TextBox ID="Subject"runat="server"Width="421px"></asp:TextBox>
            <br />
            内容:<br />
            <asp:TextBox ID="Body"runat="server"Height="142px"TextMode="MultiLine"Width="419px"></asp:TextBox>
            <br />
            <asp:Button ID="Button1"runat="server"OnClick="Button1_Click"Text="发送" />
            <br />
        </div>
    </form>
</body>
</html>


  1. Default.aspx.cs和Default.aspx上传到虚拟主机的FTP的根目录下。访问http://虚拟主机域名/Default.aspx


  1. 填写测试页面的发件人、收件人、主题和内容信息,点击页面上的发信按钮,测试发信。如果发信成功,就会显示【发送成功】,如果发信失败,会有相关报错信息。



  1. 在收信邮箱的收件箱,检查是否收到了测试邮件,验证测试结果。


相关文章
|
7月前
|
安全 Linux 网络安全
|
6月前
|
安全 网络安全 数据安全/隐私保护
阿里云服务器不能发邮件禁用25端口的三种解决方法
阿里云服务器不能发邮件禁用25端口的三种解决方法
876 0
|
7月前
|
网络安全 数据安全/隐私保护
JavaMail给QQ邮箱发邮件报错,没有SSL加密
JavaMail给QQ邮箱发邮件报错,没有SSL加密
|
消息中间件 C语言
一个使用zmq_recv 接收 5555端口的demo
这个程序会一直运行,接收来自5555端口的消息,并打印出来。每接收到一个消息,它会等待1秒,然后发送一个"World"的回复。
85 0
|
搜索推荐 应用服务中间件 nginx
67分布式电商项目 - nginx基于端口配置虚拟主机
67分布式电商项目 - nginx基于端口配置虚拟主机
62 0
|
JavaScript 数据安全/隐私保护
jQuery 使用 md5 加密效果demo(整理)
jQuery 使用 md5 加密效果demo(整理)
|
安全 Java Shell
Docker实战 | 第四篇:Docker启用TLS加密解决暴露2375端口引发的安全漏洞,被黑掉三台云主机的教训总结
Docker实战 | 第四篇:Docker启用TLS加密解决暴露2375端口引发的安全漏洞,被黑掉三台云主机的教训总结
|
应用服务中间件 nginx
Nginx基于域名\端口的虚拟主机
Nginx基于域名\端口的虚拟主机
|
存储 数据库 数据安全/隐私保护
java.security.*篇(1) RSA 加密与解密demo
java.security.*篇(1) RSA 加密与解密demo
|
Apache
给Apache虚拟主机增加端口的方法
给Apache虚拟主机增加端口的方法
140 0