QQ邮件发送API v1.0 26,384 累计发送

一个简单而强大的QQ邮箱SMTP发送接口

API说明

1. 介绍

欢迎使用我们的QQ邮件发送API服务!这是一个由开发者ikdxhz为开发者社区精心打造的工具,完全免费且无广告干扰。

我们深知在开发过程中,邮件发送功能是许多应用的刚需,但配置SMTP服务器、处理授权和维护邮件服务往往会消耗大量时间和精力。正是出于这样的理解,我们创建了这个简洁高效的API,希望能为每一位开发者减轻负担,让您能够专注于自己的核心业务开发。

这个项目源于一个简单的信念:技术应当让生活变得更简单,而不是更复杂。我们相信,通过共享这个工具,能够帮助更多的开发者实现他们的创意和梦想。

2. 安全

我们深知您对数据安全的关切,这也是我们最重视的方面之一:

  • 零数据存储:我们不会存储您的任何账号信息、授权码或邮件内容,所有数据仅在发送过程中被临时使用
  • 安全传输:所有API请求都通过HTTPS加密传输,保护您的数据不被窃取
  • mySSL安全认证:我们的服务已通过专业的安全认证,您可以放心使用
mySSL安全认证

我们坚信,安全不是一个选项,而是一个承诺。您的信任是我们前进的动力,我们会持续优化安全措施,确保每一位用户的数据安全。

3. 方便

我们的API设计理念是:让复杂变简单,让困难变容易。

  • 零门槛使用:无需注册账号、无需登录验证,直接调用API即可使用,告别繁琐的身份验证流程
  • 即插即用:只需几行代码,即可在任何应用中集成邮件发送功能
  • 灵活多样:支持HTML格式、纯文本、多收件人、自定义发件人名称等多种功能
  • 附件支持:轻松发送各类文件附件,满足多样化的业务需求
  • 无限量发送:我们不会限制您的发送邮件数量,无论是10封还是10000封,我们都全力支持您的业务需求
  • 无速率限制:告别繁琐的发送配额和等待时间,我们不会对您的发送频率进行任何人为限制,让您的业务畅通无阻
  • 贴心支持:我们珍视每位开发者,提供及时的技术支持和问题解答,让您在使用过程中感受到家的温暖
  • 详尽文档:提供清晰的接口说明和示例代码,降低学习成本
  • 在线测试:内置测试工具,让您无需编写代码即可验证功能
  • 稳定可靠:采用高可用架构设计,确保API服务持续稳定运行,给您的业务提供坚实后盾
  • 实时统计:提供直观的邮件发送统计数据,让您了解服务使用情况,增强透明度和可信度
邮件发送统计

我们新增了邮件发送统计功能!您可以在页面顶部看到所有用户通过本API共发送的邮件数量。这一数据清晰地展示了我们服务的受欢迎程度和稳定性,也让新用户能够更加放心地使用我们的服务。

统计数据实时更新,确保您随时了解最新情况。与此同时,我们依然坚守数据安全原则,不会记录任何个人信息或邮件内容。

在无数个加班的夜晚,当您为项目中的邮件发送功能而烦恼时,希望这个小小的API能成为您的得力助手,为您节省宝贵的时间,让您能够陪伴家人,或是追求自己热爱的事物。技术的价值,不仅在于它能做什么,更在于它能为人们的生活带来什么。这正是我们创建这个API的初衷 —— 用技术的力量,让每一位开发者的工作与生活更加美好。

我们承诺,这个服务将持续免费、无限制地提供给每一位开发者。我们深知创业路上的艰辛与不易,也曾在深夜为技术问题而挣扎。正因如此,我们希望通过这个无私的服务,为每一位怀揣梦想的开发者减轻一份负担,让您能够专注于创造真正的价值。当您的应用从零用户增长到万千用户,当您的创业项目从无人问津到引发关注,我们会一直在这里,默默支持您的每一步成长。这不仅仅是一个API服务,更是一份来自开发者的真挚承诺与情感寄托。

接口地址

API接口支持以下地址:

GET/POST http://qqmail.ikdxhz.top/api.php

(简洁易用的API端点)

使用GET请求时,所有参数需通过URL参数传递。使用POST请求时,可以通过JSON或表单数据传递参数。

请求参数

参数名 类型 必填 说明
username string QQ邮箱账号,如 [email protected]
password string QQ邮箱授权码,在QQ邮箱设置中获取
to string/array 收件人邮箱地址,可以是单个地址或数组
subject string 邮件主题
body string 邮件正文内容
from_name string 发件人显示名称,默认为邮箱地址
is_html boolean 是否为HTML格式邮件,默认为true
debug boolean 是否开启调试模式,默认为false
attachments array 附件,支持文件路径或base64编码的文件数据

响应结果

错误码说明与返回示例
错误码 描述 错误类型 JSON返回示例
200 成功 success: true
{
    "success": true,
    "code": 200,
    "message": "邮件发送成功",
    "total_sent": 1024
}
                                    
400 参数错误 缺失字段
{
    "success": false,
    "code": 400,
    "message": "缺少必要参数",
    "details": {
        "missing_fields": ["username", "password"]
    }
}
                                    
400 参数错误 格式无效
{
    "success": false,
    "code": 400,
    "message": "参数格式不正确",
    "details": {
        "invalid_fields": {
            "username": "邮箱格式不正确"
        }
    }
}
                                    
400 附件错误 附件相关错误
{
    "success": false,
    "code": 400,
    "message": "附件处理失败",
    "details": {
        "attachment_errors": [
            {
                "index": 0,
                "error": "Base64解码失败"
            }
        ]
    }
}
                                    
401 认证失败 authentication_error
{
    "success": false,
    "code": 401,
    "message": "QQ邮箱认证失败",
    "details": {
        "error_type": "authentication_error",
        "error_detail": "用户名或授权码错误"
    }
}
                                    
500 服务器错误 general_error
{
    "success": false,
    "code": 500,
    "message": "服务器内部错误",
    "details": {
        "error_type": "general_error"
    }
}
                                    
500 连接错误 connection_error
{
    "success": false,
    "code": 500,
    "message": "无法连接到SMTP服务器",
    "details": {
        "error_type": "connection_error",
        "error_detail": "连接超时"
    }
}
                                    
500 超时错误 timeout_error
{
    "success": false,
    "code": 500,
    "message": "请求超时",
    "details": {
        "error_type": "timeout_error"
    }
}
                                    
500 发送失败 send_failure
{
    "success": false,
    "code": 500,
    "message": "邮件发送失败",
    "details": {
        "error_type": "send_failure",
        "error_detail": "邮件服务器拒绝发送"
    }
}
                                    
响应格式说明

API返回的JSON响应格式如下:

// 成功响应
{
    "success": true,
    "code": 200,
    "message": "邮件发送成功",
    "data": {
        // 可能包含的附加信息,如调试输出等
    }
}

// 错误响应
{
    "success": false,
    "code": 400, // 或其他错误码
    "message": "错误信息",
    "details": {
        "error_type": "错误类型",
        "error_detail": "详细错误信息",
        // 其他相关信息
    }
}

使用方法

1. 准备工作

  • 获取QQ邮箱授权码(不是QQ密码)
  • 确保服务器支持PHP 8.3及以上版本
  • 已启用PHP的OpenSSL扩展
📝 非HTML格式邮件的换行处理

当发送非HTML格式的邮件(即参数is_html=false)时,如需在邮件内容中换行,请使用以下方法:

1. 在代码中使用换行符

// JavaScript 示例
const body = "第一行内容\n第二行内容\n\n第三行内容";

// PHP 示例
$body = "第一行内容\n第二行内容\n\n第三行内容";

// Python 示例
body = "第一行内容\n第二行内容\n\n第三行内容"

2. 使用回车换行符 (CRLF)

某些邮件客户端可能需要使用Windows风格的回车换行符 (\r\n):

// 使用回车换行符
const body = "第一行内容\r\n第二行内容\r\n\r\n第三行内容";

3. GET请求中的换行

在GET请求URL中,换行符需要进行URL编码:

  • \n 编码为 %0A
  • \r\n 编码为 %0D%0A

示例:body=第一行内容%0A第二行内容%0A%0A第三行内容

提示: 如果您需要复杂的文本格式化,建议使用HTML格式发送邮件(默认设置),这样可以更好地控制邮件的排版和样式。

如何获取QQ邮箱授权码?
为什么需要先设置独立密码?

出于安全考虑,QQ邮箱要求用户必须先设置独立密码,才能开启POP3/SMTP/IMAP功能。设置独立密码可以:

  • 提高账号安全性,避免QQ密码泄露
  • 区分邮箱登录与客户端收发信的权限
  • 在不改变QQ密码的情况下,可随时更改客户端收发信的授权

2. 接口调用

接口支持多种请求方式:

  • GET请求:所有参数通过URL参数传递,适合简单邮件发送
  • POST请求:可以通过JSON或表单数据传递参数,适合发送带附件或复杂内容的邮件

请参考API说明选项卡中的参数说明。

3. 附件发送说明

关于附件

本API支持以下两种方式发送附件:

  1. Base64编码方式:直接在JSON请求中包含附件内容,适用于所有场景
  2. 本地文件路径方式:指定服务器上的文件路径,仅当API与应用在同一服务器时可用
如何获取Base64编码的文件内容?

以下是一些获取文件Base64编码的方法:

  • 浏览器中:使用FileReader API读取文件并转换为Base64
  • PHP中:使用base64_encode(file_get_contents('文件路径'))
  • Python中:使用base64.b64encode(open('文件路径', 'rb').read())
  • 在线工具:有许多在线工具可以将文件转换为Base64编码
附件发送注意事项
  • 附件大小限制:请注意QQ邮箱对附件大小有限制,通常单个附件不超过50MB,所有附件总和不超过100MB
  • 文件名编码:建议使用英文或UTF-8编码的文件名,避免乱码
  • Base64增大体积:Base64编码会使文件体积增大约33%,请考虑传输效率
  • 附件类型:支持常见文档、图片、压缩包等格式,但某些可执行文件可能会被邮件服务器拦截
  • 调试技巧:发送大附件时可启用debug参数,便于追踪发送过程
  • 文件支持:常见支持的文件格式包括:PDF、DOC/DOCX、XLS/XLSX、PPT/PPTX、ZIP/RAR、JPG/PNG/GIF等
推荐最佳实践
  1. 对于大型附件,建议先上传到云存储服务,然后在邮件正文中提供下载链接
  2. 发送多个附件时,考虑分批发送或压缩后再发送
  3. 通过API方式发送附件前,最好先进行文件大小检查
  4. 重要文档建议加密后再发送,密码通过其他渠道告知收件人

在线测试(必看!)

您可以使用下面的表单测试邮件发送功能: