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

ASP.NET Core 5.0使用Mailjet发邮件时version未识别及其他发信方法咨询

Mailjet version字段识别失败解决方案

你安装的mailgate包并非Mailjet官方适配.NET的标准依赖包,和你导入的Mailjet.Client命名空间对应的官方包存在类结构冲突,是字段无法识别的核心原因,修复步骤如下:

  1. 先卸载项目中安装的mailgate包,仅保留官方NuGet包Mailjet.Client的最新稳定版,避免依赖冲突
  2. 初始化Mailjet客户端时显式指定API版本,示例代码如下:
using Mailjet.Client;
using Mailjet.Client.Resources;
using Microsoft.AspNetCore.Identity.UI.Services;
using Newtonsoft.Json.Linq;

namespace YourNamespace
{
    public class MailjetEmailSender : IEmailSender
    {
        public async Task SendEmailAsync(string email, string subject, string htmlMessage)
        {
            // 替换为自己的API密钥
            var apiKey = "你的Mailjet API Key";
            var apiSecret = "你的Mailjet API Secret";
            
            var client = new MailjetClient(apiKey, apiSecret)
            {
                // 显式指定API版本,对应你说的version字段
                Version = ApiVersion.V3_1
            };

            var request = new MailjetRequest
            {
                Resource = Send.Resource
            }
            .Property(Send.Messages, new JArray {
                new JObject {
                    {"From", new JObject {
                        {"Email", "sender@example.com"},
                        {"Name", "发送方名称"}
                    }},
                    {"To", new JArray {
                        new JObject {
                            {"Email", email},
                            {"Name", "接收方名称"}
                        }
                    }},
                    {"Subject", subject},
                    {"HTMLPart", htmlMessage}
                }
            });

            await client.PostAsync(request);
        }
    }
}

注:你贴出的代码末尾的][1]是粘贴残留,实际使用时需要删除,否则会触发编译错误。

ASP.NET Core 5.0 其他电子邮件发送方案

  • MailKit + MimeKit:.NET生态最通用的轻量SMTP邮件发送方案,无第三方服务绑定,可对接任意支持SMTP协议的邮箱服务,性能和兼容性都优于.NET原生的System.Net.Mail库,适合自行对接自有邮箱服务器的场景
  • SendGrid:微软官方文档推荐的第三方邮件发送服务,提供了适配ASP.NET Core Identity的IEmailSender现成实现,不需要大量封装代码即可快速接入
  • 国内云服务商邮件推送服务:阿里云邮件推送、腾讯云简单邮件推送等国内服务商都提供了适配.NET 5的SDK,国内发信到达率高于境外的Mailjet、SendGrid服务,适合面向国内用户的业务场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:24:00