我正在尝试向我的C#Desktop应用程序添加一个功能,该功能向我发送一封电子邮件,其中包含用户将填写表格的信息。当我尝试通过代理发送邮件(SMTP)时出现问题(当我有免费的代理连接时,它工作正常)。
我尝试修改 App.config ,并添加了以下内容:
<system.net>
<defaultProxy enabled="false">
<proxy proxyaddress="192.168.10.4:3128"/>
</defaultProxy>
</system.net>
我还尝试将enable属性切换为“ true”,将代理地址与http://或添加:
<mailSettings>
<smtp deliveryMethod="Network">
<network
host="192.168.10.4"
port="3128"
defaultCredentials="false"/> <!-- or "true" -->
</smtp>
</mailSettings>
到目前为止没有任何工作...
代码本身:
private void button1_Click(object sender, EventArgs e)
{
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("myemail@gmail.com");
mail.To.Add("myemail@gmail.com");
mail.Subject = "Test";
mail.Body = "Body of the testing message";
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("myemail@gmail.com", "mypassword");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
MessageBox.Show("Message sent");
Close();
}
catch (Exception ex)
{
MessageBox.Show("Problem sending the message");
}
}
正如我所说,当我在家中使用免费代理连接时,该应用程序可以正常运行,并且毫无问题地发送消息,但是当尝试通过代理发送消息时,不会让我这么做。
有什么建议吗? 谢谢!