开发者社区 问答 正文

如何使用 SMTP 发送邮件?



开启 SMTP 发信功能


您需要先开启 SMTP 发信功能才能通过 SMTP 接口发送邮件。

  1. 登录 邮件推送控制台
  2. 单击左侧导航栏中 [backcolor=transparent]发信地址,进入发信地址页面。
  3. 在发信地址列表中,找到您要开启 SMTP 发信功能的发信地址,在对应的操作栏中单击 [backcolor=transparent]设置 SMTP 密码。
  4. 在弹出对话框中填写 SMTP 密码,然后单击 [backcolor=transparent]确定。


SMTP 发信方法


SMTP 协议是一个简单的邮件传输协议,利用它您可以将邮件发送给别人。此协议使用命令和应答在客户端与服务器之间传输报文。即客户端发出一个命令,服务器返回一个应答。发送方与接收方进行一问一答的交互,由发送方控制这个对话。
目前最新的 SMTP RFC 协议是 RFC5321
使用 SMTP 协议的邮件服务器分为两种:
  • 一种为邮件发送服务器,通常叫做 smtpd,需要发件人进行认证。
  • 一种为邮件接收服务器,通常叫做 mx,接收外部运营商用户投递给本地用户的邮件。

阿里云邮件推送的邮件服务器为 smtpd,所以需要进行用户认证(要求认证用户名和发件人必须一致),认证用户名(就是发件人)和密码可以通过控制台进行设置。 [font=PingFangSC, 'helvetica neue', 'hiragino sans gb', arial, 'microsoft yahei ui', 'microsoft yahei', simsun, sans-serif]程序中调用 SMTP 发送邮件可以使用各种语言的 SMTP Library。详细参考,请见 SMTP 调用示例 [font=PingFangSC, 'helvetica neue', 'hiragino sans gb', arial, 'microsoft yahei ui', 'microsoft yahei', simsun, sans-serif]。

通过 SMTP 协议发送邮件的整体过程如下:
  1. 客户端使用 telnet 命令连接到SMTP服务器,建立会话。
  2. 客户端发送一个 HELO 或 EHLO 命令。
  3. 客户端发送一个 AUTH 认证命令进行用户登录(使用 smtpd 方式)。
  4. 客户端发送一个 MAIL 命令指定发件人。
  5. 客户端发送一个 RCPT 命令指定收件人。
  6. 客户端发送一个 DATA 命令准备输入邮件正文。
  7. 客户端发送一个 . 命令(点命令)表示 DATA 命令结束。
  8. 客户端发送一个 QUIT 命令结束会话。


示例


为帮助您熟悉使用 SMTP 协议发送邮件的流程,提供以下 telnet 命令会话过程示例,来描述 SMTP 命令会话过程。
[backcolor=transparent]备注:其中 S 代表服务器,C 代表客户端。可以使用 Linux 命令 echo -n Content|base64 进行 base64 编码。

展开
收起
轩墨 2017-10-26 10:52:21 2590 分享 版权
阿里云 AI 助理回答

要开启SMTP发信功能并使用SMTP协议通过阿里云邮件推送服务发送邮件,请遵循以下步骤:

  1. 登录控制台

    • 首先,登录到阿里云邮件推送控制台
  2. 访问发信地址设置

    • 在控制台界面,单击左侧导航栏中的发信地址,进入发信地址管理页面。
  3. 选择发信地址

    • 在发信地址列表中,找到您打算启用SMTP发信功能的特定发信地址。
  4. 设置SMTP密码

    • 在该发信地址的操作栏中,点击设置 SMTP 密码
    • 在弹出的对话框内,输入您希望设置的SMTP密码,然后点击确定以保存配置。注意:请确保记录此密码,后续SMTP认证时将需要它。

SMTP发信方法概览

  • SMTP协议基础:SMTP(Simple Mail Transfer Protocol)是一种用于在服务器间传输电子邮件的标准协议。它基于请求与响应机制,允许客户端(发件人)与服务器进行交互,完成邮件发送过程。

  • RFC标准:当前SMTP协议遵循的主要规范是RFC5321

  • 阿里云邮件服务器类型:阿里云邮件推送服务提供的是smtpd类型的邮件发送服务器,要求发件人进行身份验证,且认证用户名(发件人邮箱地址)和密码必须一致。这些信息需在控制台预先设置。

  • 编程调用:开发人员可以利用各种编程语言支持的SMTP库来实现邮件发送逻辑。具体实现细节可参考官方提供的SMTP调用示例

SMTP邮件发送流程简述

  1. 建立连接:使用telnet或编程方式连接到SMTP服务器。
  2. 握手:发送HELO/EHLO命令与服务器握手。
  3. 认证:执行AUTH命令进行用户身份验证。
  4. 指定发件人:使用MAIL命令声明邮件发件人。
  5. 指定收件人:通过RCPT命令指定一个或多个收件人。
  6. 撰写正文:发出DATA命令后,开始输入邮件内容,包括头部和正文,最后以单独一行的点(.)结束数据输入。
  7. 会话结束:发送QUIT命令,关闭与服务器的连接。

示例说明: - 通过telnet命令行展示的交互过程,帮助理解实际操作中如何与SMTP服务器进行命令交互,包括必要的base64编码处理用户名和密码等安全措施。

综上所述,开启SMTP发信功能主要涉及控制台操作及了解SMTP协议的基本交互流程。确保遵循上述步骤,并根据实际应用需求选择合适的编程语言库来实现邮件发送功能。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答