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

ASP.NET Core MVC联系我们页面提交时发送邮件报错怎么解决?

问题解决步骤

你当前的邮件发送实现存在多处配置错误,按以下顺序修改即可解决问题:

1. 修正SMTP凭据配置逻辑

现有代码的UseDefaultCredentials参数设置错误、顺序颠倒,导致自定义凭据不生效:

// 错误写法
smtp.UseDefaultCredentials = true;
smtp.Credentials = networkCred;

修改为:

// 必须先禁用默认凭据,再赋值自定义的SMTP登录信息
smtp.UseDefaultCredentials = false;
smtp.Credentials = networkCred;

2. 补全所有必填的邮箱配置项

你当前代码中多处核心配置为空,需要补充有效值:

  • mailMessage.From:填写发件人完整的Gmail邮箱地址
  • networkCred.UserName:和上述发件人邮箱地址保持一致
  • networkCred.Password:填写Gmail的应用专用密码,不可使用账号的常规登录密码
  • mailMessage.To.Add:填写实际需要接收邮件的收件人邮箱地址

3. 开通Gmail SMTP调用权限

Gmail默认禁止第三方客户端直接用账号密码调用SMTP服务,需要提前做以下配置:

  • 登录对应的谷歌账号,开启账号两步验证功能
  • 进入账号安全设置页,创建「应用专用密码」,把生成的16位无空格密码填入上面的networkCred.Password配置项

4. 可选优化(推荐)

微软官方已将SmtpClient标记为过时类型,跨平台兼容性、稳定性都存在缺陷,推荐替换为更现代的MailKit库实现邮件发送功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:45:00