使用SMTP发送邮件

Administration -> setup -> E-mail parameters下设置参数,根据你的实际情况设置对应参数:

 

E-mail parameters

 void SendemailDemo()

{   

    InteropPermission   interopPermission;

    SysEmailParameters  parameters    =  SysEmailParameters::find();

    SysMailer           mailer = new SysMailer();

    #Sysmailer

;

If(parameters.SMTPRelayServerName)

{

      Mailer.SMTPReplayServer(parameters.SMTPServerIPAddress,

                                                Parameters.SMTPPortNumber,

                                                Parameters.SMTPUserName,

                                                SysEmailParameters::password(),

                                                Parameters.NTLM);

}

Else if(parameters.SMTPServerIPAddress)

{

      Mailer.SMTPReplayServer(parameters.SMTPServerIPAddress,

                                                Parameters.SMTPPortNumber,

                                                Parameters.SMTPUserName,

                                                SysEmailParameters::password(),

                                                Parameters.NTLM);

}

Else

{

      Return;

}

   

    interopPermission = new InteropPermission(InteropKind::ComInterop);

    interopPermission.assert();

   

    CodeAccessPermission::revertAssert();

 

    mailer.fromAddress(parameters.SMTPUserName);// 邮件服务器域下的发件邮箱地址

    mailer.tos().appendAddress(“test@163.com”); //收件人地址

    mailer.ccs().appendAddress(“test2@163.com");  //抄送给该地址

    mailer.bccs().appendAddress(“test3@163.com"); //秘密抄送给该地址

 

    mailer.subject(“邮件主题”);

    mailer.htmlBody(“邮件正文”)

    mailer.attachments().add(“c:/david/test.txt”);//附件,我的路径格式是在VISTA下,所以用‘/’

       try

{

              interopPermission = new InteropPermission(InteropKind::ComInterop);

          interopPermission.assert();

          mailer.sendMail();

CodeAccessPermission::revertAssert();

       }

Catch(Exception::Error)

{

}

}             

注:interPermission用来请求调用特定API,有关这类API可以参考:http://msdn.microsoft.com/en-us/library/aa852189.aspx

                CodeAccessPermission::revertAssert()起到一个定界的作用,表示InterPermission的请求到此结束。

错误定位:如果你在使用SMTP发送邮件是发生错误,首先检查SMTP服务器是否在正常运行,可以Ping或使用其他SMTP工具来检查;其次,在调用特定API前一定要先获得Permission;最后,如果你的邮件中包含附件,请确认你代码运行在服务器端还是客户端,然后确认路径。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值