发送邮件错误(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。错误是让服务器重新设置连接数英文翻译:
服务器不支持安全连接
这表明您正在使用的服务器不支持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。好运!