文档

开始发送电子邮件所需的一切。

快速入门

1. 注册并添加您的域名

创建账户,然后从仪表板添加您的发送域名。 我们将提供DNS记录(DKIM和SPF)以添加到您域名的DNS设置。 验证后,您就可以开始发送了。

2. 获取您的凭证

您的SMTP凭证和API密钥在仪表板中可用。 发送电子邮件时,您需要这些来进行身份验证。

3a. 通过SMTP发送

使用以下设置配置您的应用程序的SMTP设置:

SMTP主机:     smtp.mailertogo.com
SMTP端口:     587 (STARTTLS) 或 465 (SSL)
用户名:      您的SMTP用户名(来自仪表板)
密码:      您的SMTP密码(来自仪表板)

大多数框架都有内置的SMTP支持:

Rails

# config/environments/production.rb
config.action_mailer.smtp_settings = {
  address:         ENV["MAILERTOGO_SMTP_HOST"],
  port:            587,
  user_name:       ENV["MAILERTOGO_SMTP_USER"],
  password:        ENV["MAILERTOGO_SMTP_PASSWORD"],
  authentication:  :plain,
  enable_starttls: true
}

Django

# settings.py
EMAIL_HOST = os.environ.get("MAILERTOGO_SMTP_HOST")
EMAIL_PORT = 587
EMAIL_HOST_USER = os.environ.get("MAILERTOGO_SMTP_USER")
EMAIL_HOST_PASSWORD = os.environ.get("MAILERTOGO_SMTP_PASSWORD")
EMAIL_USE_TLS = True

Node.js (Nodemailer)

const nodemailer = require("nodemailer");

const transport = nodemailer.createTransport({
  host: process.env.MAILERTOGO_SMTP_HOST,
  port: 587,
  auth: {
    user: process.env.MAILERTOGO_SMTP_USER,
    pass: process.env.MAILERTOGO_SMTP_PASSWORD,
  },
});

Laravel

# .env
MAIL_MAILER=smtp
MAIL_HOST="${MAILERTOGO_SMTP_HOST}"
MAIL_PORT=587
MAIL_USERNAME="${MAILERTOGO_SMTP_USER}"
MAIL_PASSWORD="${MAILERTOGO_SMTP_PASSWORD}"
MAIL_ENCRYPTION=tls

PHP (PHPMailer)

// composer require phpmailer/phpmailer
use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host       = getenv("MAILERTOGO_SMTP_HOST");
$mail->Port       = 587;
$mail->SMTPAuth   = true;
$mail->Username   = getenv("MAILERTOGO_SMTP_USER");
$mail->Password   = getenv("MAILERTOGO_SMTP_PASSWORD");
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;

$mail->setFrom("you@your-domain.com", "Your App");
$mail->addAddress("recipient@example.com");
$mail->Subject = "Hello from Mailer To Go";
$mail->Body    = "Sent via SMTP.";
$mail->send();

Go (net/smtp)

package main

import (
    "net/smtp"
    "os"
)

func main() {
    host := os.Getenv("MAILERTOGO_SMTP_HOST")
    auth := smtp.PlainAuth("",
        os.Getenv("MAILERTOGO_SMTP_USER"),
        os.Getenv("MAILERTOGO_SMTP_PASSWORD"), host)

    msg := []byte("To: recipient@example.com\r\n" +
        "Subject: Hello from Mailer To Go\r\n\r\n" +
        "Sent via SMTP.\r\n")

    smtp.SendMail(host+":587", auth, "you@your-domain.com",
        []string{"recipient@example.com"}, msg)
}

Next.js (App Router, Nodemailer)

// app/api/send/route.js
import nodemailer from "nodemailer";

const transport = nodemailer.createTransport({
  host: process.env.MAILERTOGO_SMTP_HOST,
  port: 587,
  auth: {
    user: process.env.MAILERTOGO_SMTP_USER,
    pass: process.env.MAILERTOGO_SMTP_PASSWORD,
  },
});

export async function POST(req) {
  const { to, subject, text } = await req.json();
  await transport.sendMail({ from: "you@your-domain.com", to, subject, text });
  return Response.json({ ok: true });
}

3b. 通过REST API发送 即将推出

JSON REST API正在开发中。目前,请通过SMTP发送(上方);这是计划的请求格式:

curl -X POST https://api.mailertogo.com/api/v1/emails \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "you@yourdomain.com",
    "to": "user@example.com",
    "subject": "Hello",
    "html": "<p>Your email body here.</p>"
  }'

此端点尚未上线 — 目前请通过SMTP发送。REST API发布时,我们将在此宣布。

域名设置

DNS记录

要从您自己的域名发送,添加您仪表板中显示的DNS记录:

  • DKIM — TXT记录,使收件人能够验证您的电子邮件是否真实
  • SPF — TXT记录,授权我们的服务器代表您的域名发送

DNS更改最多需要48小时才能传播,但大多数在几分钟内完成。 仪表板将显示每条记录的验证状态。

Webhooks

在您的仪表板中配置webhook URL以接收电子邮件事件的实时通知:

  • 已送达 — 电子邮件被收件人的邮件服务器接受
  • 退回 — 电子邮件无法送达
  • 已打开 — 收件人打开了电子邮件(启用跟踪时)
  • 已点击 — 收件人点击了链接(启用跟踪时)

Webhook有效负载作为JSON POST请求发送。我们使用指数退避算法重试失败的传递。

平台集成

Heroku

Mailer To Go可作为Heroku插件使用。从 Heroku Elements Marketplace配置它, 您的SMTP凭证将自动设置为配置变量。

Build.io

Mailer To Go也可在Build.io上使用。从您的Build.io仪表板配置它以获得自动配置。

支持

有问题?请发送电子邮件至 support@mailertogo.com。 查看我们的状态页面了解服务可用性。