无法使用linux mint上的monodevelop通过c#发送邮件

时间:2014-06-17 19:56:30

标签: c# linux email smtp smtpclient

我在一个大型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它会卡住并且无法发送任何内容.. 它没有异常或任何东西,只是被卡住了。 怎么办?

1 个答案:

答案 0 :(得分:0)

如果某些内容适用于Windows,而不适用于Mint,那么您的代码不是错误的。这是Mint环境中的一些东西。也许防火墙设置阻止端口25上的出站流量? 另外,您可以尝试使用SendGrid发送电子邮件。它们有许多易于使用的库。每当我需要发送外部电子邮件时,我都会使用此API。

此致 史蒂夫。