我在一个大型c#项目中有一个函数,它收到一封电子邮件和一个确认码,需要发送一封电子邮件到该地址:
public int sendVerificationEmail (string email, int randomNumber)
{
try
{
SmtpClient client = new SmtpClient ();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential ("wsep142@gmail.com", "<PASSWORD>");
MailMessage mm = new MailMessage ("wsep142@gmail.com", email, "Registration to the forum system", "This is your authentication code: " + randomNumber.ToString () + ".\n Please enter this link: www.myawesomewebsite.com and insert the code. \n Thank you and have a great day. \n WSEP142 Forum team.");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send (mm);
return 0;
}
catch(Exception)
{
return -1;
}
}
这段代码,使用windows正确发送邮件和所有内容,但是当我尝试在linux(mint)上使用它时,使用monodeveloper它会卡住并且无法发送任何内容.. 它没有异常或任何东西,只是被卡住了。 怎么办?
答案 0 :(得分:0)
如果某些内容适用于Windows,而不适用于Mint,那么您的代码不是错误的。这是Mint环境中的一些东西。也许防火墙设置阻止端口25上的出站流量? 另外,您可以尝试使用SendGrid发送电子邮件。它们有许多易于使用的库。每当我需要发送外部电子邮件时,我都会使用此API。
此致 史蒂夫。