You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# Web应用用Gmail SMTP发邮件遇IP限制,求替代方案

替代Gmail SMTP的无阻碍邮件发送方案

我刚好处理过不少类似的场景,Gmail的SMTP确实对非固定IP/设备的访问限制很严——尤其是谷歌近几年逐步收紧了普通账号的第三方应用权限,导致跨IP/设备调用时频繁触发认证失败。给你几个靠谱的替代方案,都能支持任意IP/设备的用户顺畅发送邮件:

1. SendGrid(推荐中小流量应用)

SendGrid是Twilio旗下的邮件服务,提供免费额度(每月10000封),对IP/设备没有绑定限制,只需要通过API Key认证即可,稳定性拉满。

C#实现步骤:

  • 先通过NuGet安装SendGrid包
  • 注册账号后获取你的专属API Key
  • 代码示例:
using SendGrid;
using SendGrid.Helpers.Mail;

var apiKey = "你的SendGrid API Key";
var client = new SendGridClient(apiKey);
var from = new EmailAddress("sender@example.com", "发送者名称");
var to = new EmailAddress("recipient@example.com", "接收者名称");
var subject = "邮件主题";
var plainTextContent = "纯文本内容";
var htmlContent = "<strong>HTML格式内容</strong>";
var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
var response = await client.SendEmailAsync(msg);

2. Mailgun

Mailgun也是老牌邮件服务,免费版支持每月5000封邮件,同时支持API和SMTP两种调用方式,完全不受IP/设备限制,适合需要兼容传统SMTP逻辑的场景。

C# SMTP方式示例:

  • 注册后获取SMTP凭证(专属用户名、密码)
  • 代码示例:
using System.Net;
using System.Net.Mail;

var smtpClient = new SmtpClient("smtp.mailgun.org", 587)
{
    Credentials = new NetworkCredential("你的Mailgun SMTP用户名", "你的Mailgun SMTP密码"),
    EnableSsl = true,
};

var mailMessage = new MailMessage
{
    From = new MailAddress("sender@yourdomain.com", "发送者名称"),
    Subject = "邮件主题",
    Body = "邮件内容",
    IsBodyHtml = true,
};
mailMessage.To.Add("recipient@example.com");

smtpClient.Send(mailMessage);

3. Microsoft 365(Outlook)SMTP

如果你本身就在用微软生态,Microsoft 365的SMTP也是一个不错的选择——需要注意的是,得给账号开启应用密码(普通密码在第三方应用里会触发MFA限制),设置完成后就能跨IP/设备正常调用了。

C#代码示例:

using System.Net;
using System.Net.Mail;

var smtpClient = new SmtpClient("smtp.office365.com", 587)
{
    Credentials = new NetworkCredential("你的Outlook邮箱", "你的应用密码"),
    EnableSsl = true,
};

var mailMessage = new MailMessage
{
    From = new MailAddress("your-account@outlook.com", "发送者名称"),
    Subject = "邮件主题",
    Body = "邮件内容",
    IsBodyHtml = true,
};
mailMessage.To.Add("recipient@example.com");

smtpClient.Send(mailMessage);

额外注意事项

  • 不管用哪个服务,都要确保邮件内容符合反垃圾邮件规则(比如避免敏感词、添加明确的退订链接),不然容易被服务商限制发送权限
  • 免费版通常有发送频率限制,如果是高流量应用,建议升级到付费版获取更高配额和优先级
  • 优先选择API调用方式,比SMTP更稳定,也更容易排查问题

内容的提问来源于stack exchange,提问作者Tom1994

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:08:02