项目简介
本项目是基于 Go 语言的邮件发送服务系统,用于满足项目中向公司人员发送邮件的需求。系统借助 HTTP 服务接收请求,依靠 SMTP 协议实现邮件发送,支持发送邮件、抄送、HTML 内容以及附件等功能,适用于邮件通知、用户注册验证等多种场景,具备良好的扩展性和稳定性。
项目的主要特性和功能
- 多邮件格式支持:支持 SMTP 协议发送普通文本邮件和 HTML 格式邮件。
- 附件发送:支持单文件和文件数组两种模式上传附件。
- 多收件人处理:支持多收件人和抄送人功能,多个邮箱地址用逗号分隔。
- 服务监测:提供健康检查接口,确保服务正常运行。
- 身份验证:使用 Token 进行身份验证,保障服务安全。
- 错误反馈:具备多种错误提示反馈机制,方便用户处理问题。
安装使用步骤
安装步骤
- 确保本地环境已安装 Git,复制项目的 Git 仓库。
- 在项目目录中,使用 Go 语言的包管理工具(如 dep 或模块管理)安装项目所需的依赖。
- 根据项目配置文件模板修改配置文件,以满足自身需求。
- 编译并运行项目。
使用方法
通过 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】