发送邮件时出错(gmail到gmail)

时间:2015-06-03 14:41:03

标签: c#

我想发送邮件(gmail到gmail)这是带有c#的代码:
 我现在很容易存在更多tuto。  我测试所有tuto发送邮件但总是同样的问题

using System;
using System.Net.Mail;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
namespace VerificationBlockage
{
    class EnvoyerMail
    {


        public void sendEmail()
        {

            // Mail message construction
            MailMessage mm = new MailMessage("halloula.briki@gmail.com", "halloula.briki@mail.com");

            // content
            mm.Subject = "testing message";
            mm.Body = "hello... from .net c# mailmessage";
            mm.CC.Add("mejdi68@mail.com");
           // mm.CC.Add("copycc2@mail.com");
           // mm.Bcc.Add("copybcc@mail.com");

            // some attachments
            //mm.Attachments.Add(new Attachment("c:\\filename.txt"));

            // Sending message
            SmtpClient sc = new SmtpClient("smtp.gmail.com", 587);
            sc.DeliveryMethod = SmtpDeliveryMethod.Network;
            // ...

            // our account credentials
            sc.Credentials = new NetworkCredential("halloula.briki@gmail.com", "&******&");
            sc.EnableSsl = true;

            // Catching result
            try
            {
                sc.Send(mm);
                MessageBox.Show("Message sent");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }

        }



    }
}

我不是什么问题。我改变了端口25,587,465。 错误是 le serveur ne prend pas en charge lesconnexionsécurisées

英文翻译:

  

服务器不支持安全连接

4 个答案:

答案 0 :(得分:1)

这表明您使用的服务器不支持SSL连接。

删除行

sc.EnableSsl = true;

或将其更改为:

sc.EnableSsl = false;

但我确信Gmail确实如此。试试这个:

public string SendGmailMessage(string toAddress, string fromAddress, string ccAddress, string subject, string body)
{
    MailMessage message = new MailMessage();
    SmtpClient smtpClient = new SmtpClient();
    string msg = string.Empty;
    try
    {
        MailAddress emailFrom = new MailAddress(fromAddress);
        message.From = emailFrom;
        message.To.Add(toAddress);
        if (!string.IsNullOrEmpty(ccAddress))
    {
            message.CC.Add(ccAddress);
    }
        message.Subject = subject;
        message.IsBodyHtml = true;
        message.Body = body;
        smtpClient.Host = "smtp.gmail.com"; 
        smtpClient.Port = 587;
        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = true;  //Add this line
        smtpClient.Credentials = new System.Net.NetworkCredential("GMAILUSERNAME", "GMAILPASSWORD");

        smtpClient.Send(message);
        msg = "Message Sent";
    }
    catch (Exception ex)
    {
        msg = ex.Message;
    }
    return msg;
}

答案 1 :(得分:0)

这可能取决于连接到该端口(服务器端)的Gmail服务。 我已经看到一些使用SSL连接到端口465的示例

我希望这会有所帮助。

答案 2 :(得分:0)

这很可能是防火墙的问题。你检查过了吗?在cmd提示符下,请检查以下内容:

Telnet smtp.gmail.com 587

如果您没有收到有效的回复,则会阻止该端口。

答案 3 :(得分:0)

您可以将Gmail设置为允许此类活动(默认情况下出于安全原因而被阻止...):https://www.google.com/settings/security/lesssecureapps。祝你好运!