gmail发送邮件,C#中一直失败呢?

Ny-6000 2010-02-08 09:41:00
在网页中设置了,163.com邮箱,很容易就实现,可公司分配的gmail.com邮箱,却怎么也不成功!

错误百出。

哪位有成功的救命代码,给发一份参考一下

多分多谢了。
...全文
3641 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinrong530802000 2010-12-29
  • 打赏
  • 举报
回复
本人用 587,25 的端口都可以发送。但是用 465 和995 的话,就有点问题,它们之的区别,现在还没有弄明白。
wuyq11 2010-02-09
  • 打赏
  • 举报
回复
贴出代码看看
public void MailSend(string MailFrom,string MailTo,string MailPwd,string Mailtitle,string MailCon)
{
MailMessage MyMail = new MailMessage();
MyMail.From = new MailAddress("", "");
MyMail.To.Add(new MailAddress(""));
MyMail.Subject = Mailtitle;
MyMail.Body = MailCon;
MyMail.IsBodyHtml = false;
SmtpClient smtpclient = new SmtpClient();
smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpclient.Host = "";
smtpclient.Credentials = new System.Net.NetworkCredential(MailFrom, MailPwd);
smtpclient.Send(MyMail);
}

Ny-6000 2010-02-09
  • 打赏
  • 举报
回复
引用 22 楼 guyschaos 的回复:
引用 20 楼 liuqian4243 的回复:邮件地址是: username@lanstarnet.com 这样形式,公司域名与gmail邮件绑定的。 还是不行。 提示: [System.Net.Mail.SmtpException] = {"SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.5.1 Authentication Required.
你公司的邮件一般是用changeserver的吧!你可以问下网管是不是屏蔽了端口或者邮件服务器是什么?


公司申请的gmail集团邮箱,每人分配有账号
不是自己的邮件服务器
贫僧又回来了 2010-02-09
  • 打赏
  • 举报
回复
引用 20 楼 liuqian4243 的回复:
邮件地址是:
username@lanstarnet.com
这样形式,公司域名与gmail邮件绑定的。

还是不行。

提示:
[System.Net.Mail.SmtpException] = {"SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.5.1 Authentication Required.

你公司的邮件一般是用changeserver的吧!你可以问下网管是不是屏蔽了端口或者邮件服务器是什么?
wiki14 2010-02-09
  • 打赏
  • 举报
回复
在邮件账号的POP设置里对从现在起所收到的邮件启用 POP 启用一下。
Ny-6000 2010-02-09
  • 打赏
  • 举报
回复
邮件地址是:
username@lanstarnet.com
这样形式,公司域名与gmail邮件绑定的。

还是不行。

提示:
[System.Net.Mail.SmtpException] = {"SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.5.1 Authentication Required.
贫僧又回来了 2010-02-09
  • 打赏
  • 举报
回复
smtp:端口尝试下465
POP3:端口是995

需要SSL
贫僧又回来了 2010-02-09
  • 打赏
  • 举报
回复
端口是465和995,可能还需要身份验证
Ny-6000 2010-02-09
  • 打赏
  • 举报
回复
我再试试,看情况咋样了。
huanqun1020 2010-02-09
  • 打赏
  • 举报
回复
顶,学习了
............
limii 2010-02-09
  • 打赏
  • 举报
回复
GMAIL可以的,端口用587,SSL设为TRUE
xray2005 2010-02-09
  • 打赏
  • 举报
回复
可公司分配的gmail.com邮箱
------------------------------------
?
LZ,在 GOOGLE上班?
bychgh 2010-02-09
  • 打赏
  • 举报
回复
看看,帮顶-----回复内容太短了!
郁闷
Delta 2010-02-09
  • 打赏
  • 举报
回复
引用 10 楼 dogfish 的回复:
Gamil要ssl加密。端口也改得和别人不一样。
正确,我第一次做时,就是使用gmail成功的。
polarissky 2010-02-09
  • 打赏
  • 举报
回复
9楼,UP
/// <summary>
/// 类公有静态方法,发送邮件
/// </summary>
/// <param name="recipients">收件人 </param>
/// <param name="subject">主题 </param>
/// <param name="body">邮件主体 </param>
public static void SendEmail(string recipients, string subject, string body)
{
string addressFrom = "abc@gail.com";
string userID = "abc";
string userPassword = "***";
SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 587);
mailClient.EnableSsl = true;
System.Net.NetworkCredential crendetial = new NetworkCredential(userID, userPassword);

mailClient.Credentials = crendetial;
MailMessage message = new MailMessage(addressFrom, recipients, subject, body);
message.IsBodyHtml = true;
mailClient.Send(message);
}
Dogfish 2010-02-09
  • 打赏
  • 举报
回复
Gamil要ssl加密。端口也改得和别人不一样。
wiki14 2010-02-08
  • 打赏
  • 举报
回复

private static void sendMail()
{
string smtpServer = "smtp.gmail.com";//服务器
int smtpPort = 587;//端口
string userAccount = "";//用户名
string userPassword = "";//密码
string userName = "";//发件人名称
string EmailAddress = "";//发件邮箱
string strto = "";//目的邮箱
string strSubject = "";//主题
string strBody = "";//内容

System.Net.Mail.SmtpClient client = new SmtpClient(smtpServer, smtpPort);
client.EnableSsl = true;
client.UseDefaultCredentials = true;
client.Credentials = new System.Net.NetworkCredential(userAccount, userPassword);
client.DeliveryMethod = SmtpDeliveryMethod.Network;

MailAddress fromEmal = new MailAddress(EmailAddress, userName);
MailAddress toEmail = new MailAddress(strto);
System.Net.Mail.MailMessage message = new MailMessage(fromEmal, toEmail);
message.Subject = strSubject;
message.Body = strBody;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;

client.Send(message);
}



试试这个,可能你的端口号不对。
twistmost 2010-02-08
  • 打赏
  • 举报
回复
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("abc@gmail.com", password),
EnableSsl = true
};
try
{
client.Send("efg@gmail.com", "receive@139.com", title, msg);
}
catch (SmtpException ex)
{
status = "err: " + ex.Message;
}
Ny-6000 2010-02-08
  • 打赏
  • 举报
回复


string emailname = System.Configuration.ConfigurationSettings.AppSettings["emailname"].ToString();
string emailpassword = System.Configuration.ConfigurationSettings.AppSettings["emailpassword"].ToString();

System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtp.gmail.com");
client.Port = 995;
//client.EnableSsl = true ;
client.Credentials = new System.Net.NetworkCredential(emailname, emailpassword);

SmtpClient sc = new SmtpClient("smtp.163.com");
//sc.Port = 465;
//sc.EnableSsl = true;
sc.Credentials = new System.Net.NetworkCredential(emailname, emailpassword);


MailAddress addressFrom = new MailAddress(emailname, "CRM系统管理E-MAIL");
MailAddress addressTo = new MailAddress(toueremail, tousername);

System.Net.Mail.MailMessage message = new MailMessage(addressFrom, addressTo);

message.Subject = caption;
message.Body = "亲爱的" + tousername + "您好!<br/>\n" + text;

message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
string msg = "";
try
{
client.Send(message); //发送邮件
//sc.Send(message);
}
catch (Exception e)
{
msg = e.Message + ",邮件没有发送成功";
}
return msg;



使用163邮箱的完全可以,而另一个,试了无数个参数,各种组合也试了还是不行。
wiki14 2010-02-08
  • 打赏
  • 举报
回复
代码啊哥哥,又没叫你把密码告诉我,你改下密码发来看看撒。- -
加载更多回复(5)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧