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

Unity项目中MailKit无法连接SMTP服务器的问题求助

Unity中使用MailKit发送邮件时连接超时问题

我在Unity游戏项目中使用MailKit实现邮件发送功能,已成功导入所需包及依赖(此前导入AWSSDK for .NET等NuGet包均无问题)。编写的C#代码如下:

public async Task<bool> SendAsync()
{
    try
    {
        // Initialize a new instance of the MimeKit.MimeMessage class
        var mail = new MimeMessage();

        mail.From.Add(new MailboxAddress("Sender Name", "myemail@gmail.com"));
        mail.To.Add(new MailboxAddress("Recipient Name", "reciever@gmail.com"));
        mail.Subject = "Hello from Mailkit!";
        mail.Body = new TextPart("plain")
        {
            Text = "This is the body of the email."
        };

        using var smtp = new SmtpClient();

        {
            await smtp.ConnectAsync("smtp.gmail.com", 465, SecureSocketOptions.SslOnConnect);
            //await smtp.ConnectAsync("smtp.gmail.com", 587, SecureSocketOptions.StartTls);
        }
        await smtp.AuthenticateAsync("myemail@gmail.com", "app-password-from-google-account");
        await smtp.SendAsync(mail);
        await smtp.DisconnectAsync(true);

        return true;

    }
    catch (Exception ex)
    {
        Debug.Log(ex.Message);
        return false;
    }
}

反复尝试后持续出现错误:

连接尝试失败,因为连接方在一段时间后未正确响应,或者已建立的连接失败,因为连接的主机未能响应。

错误栈信息:

UnityEngine.Debug:Log (object)
MailkitSmtpTester/<SendAsync>d__3:MoveNext () (at 
Assets/Scenes/MailkitSmtpTester.cs:86)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()

我已尝试以下排查步骤:

  • 检查网络连接
  • 验证SMTP服务器配置
  • 关闭防火墙并开放VPS的465/587端口的进出连接
  • 更换网络测试
  • 验证服务器可用性
  • 检查IP是否被封禁

但问题仍未解决,请问我哪里操作有误?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:32:14