littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于 Go 语言的邮件发送服务系统

项目简介

本项目是基于 Go 语言的邮件发送服务系统,用于满足项目中向公司人员发送邮件的需求。系统借助 HTTP 服务接收请求,依靠 SMTP 协议实现邮件发送,支持发送邮件、抄送、HTML 内容以及附件等功能,适用于邮件通知、用户注册验证等多种场景,具备良好的扩展性和稳定性。

项目的主要特性和功能

  1. 多邮件格式支持:支持 SMTP 协议发送普通文本邮件和 HTML 格式邮件。
  2. 附件发送:支持单文件和文件数组两种模式上传附件。
  3. 多收件人处理:支持多收件人和抄送人功能,多个邮箱地址用逗号分隔。
  4. 服务监测:提供健康检查接口,确保服务正常运行。
  5. 身份验证:使用 Token 进行身份验证,保障服务安全。
  6. 错误反馈:具备多种错误提示反馈机制,方便用户处理问题。

安装使用步骤

安装步骤

  1. 确保本地环境已安装 Git,复制项目的 Git 仓库。
  2. 在项目目录中,使用 Go 语言的包管理工具(如 dep 或模块管理)安装项目所需的依赖。
  3. 根据项目配置文件模板修改配置文件,以满足自身需求。
  4. 编译并运行项目。

使用方法

通过 HTTP POST 请求向指定的接口地址发送邮件数据,请求参数如下: - fromname(必填):发件箱中文名 - fromaddress(必填):发件箱地址 - tos(必填):收件人,多个用逗号分隔 - ccs(选填):抄送人,多个用逗号分隔 - subject(必填):主题 - content(必填):内容,可用 HTML 代码 - attachment(选填):附件,可单文件可数组 - body_content_type(选填):编码,默认是 text/plain,可选 text/html

示例如下:

FORM 表单

```html










```

PHP - Curl

```php $toList = 'example1@example.com,example2@example.com'; $ccList = 'example1@example.com,example2@example.com'; $subject = '测试邮件'; $content = <<<MAIL 您好: 测试 详情点击《PHP是最好的语言》
系统发送,请勿回复。
MAIL; $filenameList = array( '/tmp/1.png', '/tmp/2.png', ); $bodyContentType = 'text/html';

$url = 'http://127.0.0.1:4000/mail'; $method = "POST"; $data['fromname'] = '系统邮件'; $data['fromaddress'] = 'example@example.com'; $data['tos'] = $toList; $data['ccs'] = $ccList; $data['subject'] = $subject; $data['content'] = $content; foreach(array_values($filenameList) as $key=>$filename){ $data['attachment['.$key.']'] = new \CURLFile(realpath($filename)); } $data['body_content_type'] = $bodyContentType;

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_TIMEOUT, 600); $r = curl_exec($ch); curl_close($ch); echo $r; ```

系统将会处理请求并发送邮件,返回相应的结果状态码。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】