quot;The operations timed outquot; when using SmtpClient(“操作超时使用 SmtpClient 时)
本文介绍了“操作超时"使用 SmtpClient 时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 C# 框架创建一个小型应用程序来发送电子邮件.但是,它不起作用.该应用程序总是给我操作超时".我不知道为什么.
I am trying to create a small app using C# framework to send email. However, it does not work. The app always gives me "The operations timed out." I do not why.
这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
MailAddress fromAddress = new MailAddress("from@gmail.com");
MailAddress toAddress = new MailAddress("to@gmail.com");
MailMessage mail = new MailMessage(fromAddress.Address, toAddress.Address);
mail.Subject = "Testing";
mail.Body = "contents.";
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.Timeout = 100;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("username", "password");
try
{
client.Send(mail);
MessageBox.Show("Mail Sent!", "Success", MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK);
}
}
谢谢!
推荐答案
尝试设置更高的超时限制.以毫秒为单位.
Try to set a higher timeout limit. It is in milliseconds.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;
using System.Net;
namespace GmailSendTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MailAddress fromAddress = new MailAddress("myusername@gmail.com");
MailAddress toAddress = new MailAddress("myusername@gmail.com");
MailMessage mail = new MailMessage(fromAddress.Address, toAddress.Address);
mail.Subject = "Testing";
mail.Body = "contents.";
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.Timeout = 10000;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("myusername", "mypassword");
try
{
client.Send(mail);
MessageBox.Show("Mail Sent!", "Success", MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK);
}
}
}
}
这篇关于“操作超时"使用 SmtpClient 时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:“操作超时"使用 SmtpClient 时


基础教程推荐
猜你喜欢
- 将 XML 转换为通用列表 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 如何激活MC67中的红灯 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- MS Visual Studio .NET 的替代品 2022-01-01