VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 776|回复: 5

发邮件

[复制链接]

3

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-3-15 10:30:01 | 显示全部楼层 |阅读模式
private void btnSend_Click(object sender, System.EventArgs e)
                {
                        MailMessage mailMsg=new MailMessage();
                        mailMsg.To=txtTo.Text;
                        mailMsg.From=txtFrom.Text;
                        mailMsg.From=this.txtsubject.Text;
                        mailMsg.Body=txtMsg.Text;
                        mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");
                        mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","soundblas@163.com");
                        mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","6311455");
                        try
                        {
                                SmtpMail.SmtpServer="smtp.163.com";
                                SmtpMail.Send(mailMsg);
                                Response.Write("ok");
                        }
                        catch(Exception ex)
                        {
Response.Write("false;");
                        }

                }
        }
请问我跟书上写的一模一样,书上说可以发邮件为什么我运行后都是FALSE,希望能指导我应该怎么去写
回复

使用道具 举报

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-6-13 07:15:02 | 显示全部楼层
可能邮件服务器变了!
回复

使用道具 举报

2

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-6-16 15:45:01 | 显示全部楼层
mailMsg.To是不可以直接赋值的,只能是

MailMessage mailMsg=new MailMessage(from,to);

至于后面那段smtp认证的在2015好象用不了,我是在web.config里面设置的
回复

使用道具 举报

0

主题

26

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-6-17 18:30:01 | 显示全部楼层
把你的错误类型抛出来,到底看看是什么错误?
回复

使用道具 举报

0

主题

18

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-7-7 08:45:01 | 显示全部楼层
书上关于发邮件的例子大多实现不了,都TM的误导人,恶心
书上的例子一般都调用System.Web.Mail,这个本身就比较落伍了,
在vs下一般都用System.Net.Mail。除此之外,你用这种办法,
看看你的IIS装smtp虚拟服务没有
现在没在公司,如果你需要等下给我发个消息,我给你发个成功的例子
回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-7-7 10:00:01 | 显示全部楼层
1.看看你的IIS里的SMTP服务器安装了没有!
2.书上的有错误正常,他们都不负责任。上网搜一下代码吧!
3.using System;
using System.Web;

namespace EMailCommon
{
        /// <summary>
        /// Summary description for CDOSendMail.
        /// </summary>
        public class CDOSendMail
        {
                public CDOSendMail()
                {
                        //
                        // TODO: Add constructor logic here
                        //
                }
               
                public static void sendMail(string mailFrom, string mailTo, string mailSubject, string mailBody)
                {
                        try
                        {   
                                CDO.Message oMsg = new CDO.Message();
   
                                oMsg.From = mailFrom;
                                oMsg.To = mailTo;
                                oMsg.Subject = mailSubject; // "MailTest";
                 
                                oMsg.HTMLBody = mailBody;



                                CDO.IConfiguration iConfg = oMsg.Configuration;
                                ADODB.Fields oFields = iConfg.Fields;
         
                                oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value=2;
                                oFields["http://schemas.microsoft.com/cdo/configuration/sendemailaddress"].Value= mailFrom; //"dhou@sagatechnologies.com"; //sender mail
                                oFields["http://schemas.microsoft.com/cdo/configuration/smtpaccountname"].Value= mailTo; //"dhou@sagatechnologies.com"; //email account
                                //oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="XXXXX@XXXXXX.com";
                                oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value = System.Configuration.ConfigurationSettings.AppSettings["sendusername"];
                                //oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value="3308576636";
                                oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value = System.Configuration.ConfigurationSettings.AppSettings["sendpassword"];
                                oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1;
                                //value=0 代表Anonymous验证方式(不需要验证)
                                //value=1 代表Basic验证方式(使用basic (clear-text) authentication.
                                //The configuration sendusername/sendpassword or postusername/postpassword fields are used to specify credentials.)
                                //Value=2 代表NTLM验证方式(Secure Password Authentication in Microsoft Outlook Express)
                                oFields["http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804;
                                //oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value= "smtp.fabby.com";
                                oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value= System.Configuration.ConfigurationSettings.AppSettings["smtpserver"];
                                //"smtp.21cn.com";



                                oFields.Update();
                                oMsg.BodyPart.Charset="ISO-8859-1";
                                oMsg.HTMLBodyPart.Charset="ISO-8859-1";



                                oMsg.Send();
                                oMsg = null;
                        }   
                        catch (Exception e)
                        {
                                throw e;
                        }
                }
        }
}
供参考!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表