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
相关产品推荐
相关产品推荐

