发送邮件错误(gmail到gmail)

本文关键字:gmail 错误 | 更新日期: 2023-09-27 17:53:21

我想发送邮件(gmail到gmail)这是用c#编写的代码:
我现在很容易,存在更多的时间。我测试了所有的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。错误是让服务器重新设置连接数

英文翻译:

服务器不支持安全连接

发送邮件错误(gmail到gmail)

这表明您正在使用的服务器不支持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;
}

也许这取决于连接到该端口(服务器端)的gmail服务。我见过一些使用SSL连接到端口465

的示例。

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

Telnet smtp.gmail.com 587

如果你没有得到一个有效的响应,某些东西阻塞了该端口。

你可以设置Gmail允许这样的活动(这是被阻止的安全原因默认…)在这里:https://www.google.com/settings/security/lesssecureapps。好运!