C#winform发送邮件系统

qq_29294795 2015-06-25 04:08:14
命令顺序不正确。 服务器响应为: Error: need EHLO and AUTH first !
怎么回事,求大神解答
...全文
297 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
j771018451 2015-06-25
  • 打赏
  • 举报
回复
权限我都开了,实在qq邮箱设置里面开的。独立密码也设置了,但还是不行啊
i疾风 2015-06-25
  • 打赏
  • 举报
回复
   System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(txtSService.Text.Trim(), Convert.ToInt32(txtServicePort.Text.Trim()));
                client.Credentials = new System.Net.NetworkCredential(txtUPwd.Text.Trim(), txtCEmail.Text.Trim());
请把代码用code框框标记出来,不然看着太丑了,你发的代码你自己也不乐意看。 你发邮件用的是system.net.mail发送的,那么发送时需要提供 Smtp服务器地址,smtp端口号。 credentials方面需要提供正确的邮箱密码即可。不过需要注意的是这个邮箱需要开通一些权限才行。具体的设置什么东西(好像是pop3,还是imap,smtp的,反正你全给开了就好用了)我给忘记了,但是如果用的QQ邮箱的话,你还必须设置个邮箱独立密码才能用,而这时候提供的密码就必须是这个邮箱独立密码才行。 关于smtp服务器,你必须能够ping的通才是可用的。在命令行里ping一下自己搜到的smtp服务器,看能不能用也挺关键
j771018451 2015-06-25
  • 打赏
  • 举报
回复
这是我的代码:请问哪出问题了,我是新手,请大家多多帮忙 namespace sendmail { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //打开上传附件的对话框 private void btup_Click(object sender, EventArgs e) { // oFDialogSFile.InitialDirectory = "C:\\";//设置对话框的初始目录为C盘 // oFDialogSFile.Filter = "all files (*.*)|*.*";//筛选字符串为所有文件 // oFDialogSFile.RestoreDirectory = true; // oFDialogSFile.ShowDialog(); // cboxAccessories.Items.Add(oFDialogSFile.FileName.Trim());//当选择好文件后将文件名赋值给下拉框 string Road = ""; OpenFileDialog ofd = new OpenFileDialog(); ofd.InitialDirectory = "C:\\"; if (Road != null) { ofd.InitialDirectory = Road; } if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.cboxAccessories.Text = ofd.FileName; Road = ofd.FileName.Substring(0, ofd.FileName.LastIndexOf('\\')); } } //发送邮件 private void btsend_Click(object sender, EventArgs e) { try { string file = Application.StartupPath + "testXML.xml"; //SmtpClient下的一个对象,用以设置邮件的主题和内容 System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage(); //发送端到接收端的邮箱地址 myMail = new System.Net.Mail.MailMessage(txtSEmail.Text.Trim(), txtCEmail.Text.Trim()); //主题 myMail.Subject = txtETitle.Text.Trim(); //内容 myMail.Body = txtEContent.Text.Trim(); if (cboxAccessories.Items.Count > 0) { for (int i = 0; i < cboxAccessories.Items.Count; i++) { //建立邮件附件类的一个对象,语法格式为System.Net.Mail.Attachment(文件名,文件格式) System.Net.Mail.Attachment myAttachment = new System.Net.Mail.Attachment( cboxAccessories.Items[i].ToString(), System.Net.Mime.MediaTypeNames.Application.Octet); //MIME协议下的一个对象,用以设置附件的创建时间,修改时间以及读取时间 System.Net.Mime.ContentDisposition disposition = myAttachment.ContentDisposition; disposition.CreationDate = System.IO.File.GetCreationTime(file); disposition.ModificationDate = System.IO.File.GetLastWriteTime(file); disposition.ReadDate = System.IO.File.GetLastAccessTime(file); //用smtpclient对象里attachments属性,添加上面设置好的myattachment myMail.Attachments.Add(myAttachment); } } //建立发送对象client,验证邮件服务器,服务器端口,用户名,以及密码 System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(txtSService.Text.Trim(), Convert.ToInt32(txtServicePort.Text.Trim())); client.Credentials = new System.Net.NetworkCredential(txtUPwd.Text.Trim(), txtCEmail.Text.Trim()); client.Send(myMail); MessageBox.Show("邮件发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void btdel_Click(object sender, EventArgs e) { if (cboxAccessories.Text == "") { MessageBox.Show("没有附件可删!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { //cboxAccessories.Items.Remove(cboxAccessories.Text.Trim()); cboxAccessories.Text = ""; } } } }
Justin-Liu 2015-06-25
  • 打赏
  • 举报
回复
没先通过身份验证吧?

111,092

社区成员

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

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

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