彩票走势图

MailBee.NET Objects发送电子邮件(SMTP)教程四:发送包含文本和html的电子邮件

原创|使用教程|编辑:黄竹雯|2017-05-03 17:41:00.000|阅读 387 次

概述:该文主要介绍了MailBee.NET Objects中发送包含纯文本和HTML格式主体的邮件,并添加.xls文档附加。欢迎您下载试用版进行运用!

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

 
在单行代码中快速发送电子邮件的最简单的方法是使用SMTP对象的QuickSend方法。在这种情况下,开发人员甚至不需要创建一个新的SMTP对象实例。只需要指定其基本属性(如From、To、Subject、Body等):
C#:
MailBee.SmtpMail.Smtp.QuickSend("from@me.com", "to@you.com", "Subject", "Message Body");         
VB.NET:
MailBee.SmtpMail.Smtp.QuickSend("from@me.com", "to@you.com", "Subject", "Message Body")
 
开发人员还可以使用QuickSend方法发送带有附件的电子邮件,如下所示:
C#:
MailBee.SmtpMail.Smtp.QuickSend("From Me <me@domain.com> (Company Info)",
                                "To you <you@company.com>",
                                "Subject", "Plain text body",
                                "<html>HTML-formatted body</html>",
                                null, @"C:\My Documents\report.doc");      
VB.NET:
MailBee.SmtpMail.Smtp.QuickSend("From Me <me@domain.com> (Company Info)", _
                                "To you <you@company.com>", _
                                "Subject", "Plain text body", _
                                "&laquo;html&raquo;HTML-formatted body&laquo;/html&raquo;", _
                                Nothing, "C:\My Documents\report.doc")
 
开发人员可以直接使用一个SMTP对象的实例,该实例提供了广泛的方法和属性来调整消息发送的过程。C#应用程序中的SMTP对象的新实例可以创建如下:
C#:
Smtp oMailer = new Smtp();      
VB.NET:
Dim oMailer As New Smtp()
 
如果SMTP服务器不需要任何身份验证,那么指定的主机名或相同的IP地址就可以连接到此SMTP服务器,如下所示:
C#:
oMailer.SmtpServers.Add("smtp.domain.com");   
VB.NET:
oMailer.SmtpServers.Add("smtp.domain.com")
 
或者
C#:
oMailer.SmtpServers.Add("127.0.0.1"); &nbsp;   
VB.NET:
oMailer.SmtpServers.Add("127.0.0.1")
 
另一方面,如果SMTP服务器需要身份验证,开发人员应该确定该服务器上的帐户名称和相应的密码:
C#:
oMailer.SmtpServers.Add("smtp.domain.com","login","password");      
VB.NET:
oMailer.SmtpServers.Add("smtp.domain.com","login","password")
 
或者
C#:
oMailer.SmtpServers.Add("127.0.0.1","login","password");        
VB.NET:
oMailer.SmtpServers.Add("127.0.0.1","login","password")
 
然后,开发人员应确定邮件发件人的电子邮件地址,如下所示:
C#:
oMailer.From.AsString = "Dan Brown <dan@domain.com> (Company Info)";        &nbsp;
VB.NET:
oMailer.From.AsString = "Dan Brown &lt;dan@domain.com> (Company Info)"
 
或者
C#:
oMailer.From.AsString = "Dan Brown <dan@domain.com>";        
VB.NET:
oMailer.From.AsString = "Dan Brown <dan@domain.com>&quot;
 
或者
C#:
oMailer.From.AsString = "dan@domain.com";       
VB.NET:
oMailer.From.AsString = "dan@domain.com"
 
添加To、Cc、Bcc或Reply-To,开发人员应使用SMTP对象的相应属性,如下所示:
C#:
oMailer.To.AsString = "Bill Smith <b.smith@domain.com> (Remarks), Kathy@mail.com ";
oMailer.Cc.AsString = "Joe Black <j.black@domain.com>, Joseph <joseph@domain.com>";
oMailer.Bcc.AsString = "t.jay@domain.com, s.connor@domain.com";
oMailer.ReplyTo.AsString = "john@domain.com, Barbara Jones <b.jones@mail.com>";      
VB.NET:
oMailer.To.AsString = "Bill Smith <b.smith@domain.com> (Remarks), Kathy@mail.com "
oMailer.Cc.AsString = "Joe Black <j.black@domain.com>, Joseph <joseph@domain.com>"
oMailer.Bcc.AsString = "t.jay@domain.com, s.connor@domain.com"
oMailer.ReplyTo.AsString = &quot;john@domain.com, Barbara Jones <b.jones@mail.com>"
 
要指定邮件主题,开发人员应使用SMTP对象的Subject属性,如下所示:
C#:
oMailer.Subject = "Test message&quot;;         
VB.NET:
oMailer.Subject = "Test message"
 
此外,邮件可能没有主题。
开发人员还应该确定信息的正文。如果是纯文本,开发人员应该使用BodyPlainText属性:
C#:
oMailer.BodyPlainText = "This is a test e-mail message.";        
VB.NET:
oMailer.BodyPlainText = "This is a test e-mail message."
 
如果开发人员要使用HTML格式的正文,那么应该设置BodyHtmlText属性:
C#:
oMailer.BodyHtmlText = @"<DIV>Test HTML message.</DIV><BR><BR>
        <FONT face=""Arial Black"" color=#0000ff size=5>
        <P align=left><STRONG><U>
        This is a test HTML mes-sage.
        </U></STRONG></P></FONT>
        <hr size=1>
        <a href=""//www.afterlogic.com&quot;">www.afterlogic.com</a>";​
VB.NET:
oMailer.BodyHtmlText = "<DIV>Test HTML message.</DIV><BR><BR>" & vbCrLf & _
        "<FONT face=""Arial Black"" color=#0000ff size=5>" & vbCrLf & _
        "<P align=left><STRONG><U>" & vbCrLf & _
        "This is a test HTML mes-sage." & vbCrLf & _
        "</U></STRONG></P></FONT>" & vbCrLf & _
        "<hr size=1>" & vbCrLf & _
        "<a href=""//www.afterlogic.com"">www.afterlogic.com</a>"
 
开发人员也可以将这两种类型同时使用。在这种情况下,邮件客户端的设置会影响显示哪个正文。
要将任何文件附加到电子邮件中,开发人员应使用AddAttachment方法,该方法只需要开发人员指定此文件的完整路径。要添加多个附件,开发人员应重复调用AddAttachment方法,如下所示:
C#:
oMailer.AddAttachment(@"C:\annual_reoprt.xls");
oMailer.AddAttachment(@"C:\deposits.doc"); &nbsp;     
VB.NET:
oMailer.AddAttachment("C:\annual_reoprt.xls")
 oMailer.AddAttachment("C:\deposits.doc")
 
要发送信息,开发人员应调用SMTP对象的Send方法。由于此方法可能会引发异常,开发人员可以按如下方式处理这些异常:
C#:
try
{
    oMailer.Send();
    Console.WriteLine("The message has been successfully sent.");
}
catch (MailBeeSmtpRefusedRecipientException e)
{
    Console.WriteLine("The following recipient was refused by SMTP server: " + e.RefusedRecipientEmail);
}        
VB.NET:
Try
    oMailer.Send()
    Console.WriteLine("The message has been successfully sent.")
Catch e As MailBeeSmtpRefusedRecipientException
    Console.WriteLine("The following recipient was refused by SMTP server: " + e.RefusedRecipientEmail)
End Try
 

示例代码:

摘要:以下示例创建一个包含纯文本和HTML格式主体的邮件,并添加.xls文档附加。然后将邮件发送给两个指定的收件人。
在使用MailBee.NET Objects之前,请确保它已解锁。

C#:
using System;
using MailBee;
using MailBee.SmtpMail;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
     ;       Smtp oMailer = new Smtp();
            oMailer.From.AsString = "John Doe <j.doe@domain.com> (Company Info)";;
            oMailer.To.AsString = "Bill Smith <b.smith@domain.com>, Kathy Ritchie <kr@compay.com> (Company Info)";
 ;           oMailer.Subject = "Test e-mail";
   ;         oMailer.BodyPlainText = "This is a test e-mail message.";
            oMailer.BodyHtmlText = @"<DIV>Test HTML message.</DIV><BR><BR>
            <FONT face=""Arial Black"" color=#0000ff size=5>
            <P align=left><STRONG><U>
            This is a test HTML mes-sage.
            </U></STRONG></P></FONT>
            <hr size=1>
            <a href=""//www.afterlogic.com"">www.afterlogic.com</a>";
&nbsp;           oMailer.AddAttachment(@"C:\annual_reoprt.xls");
            oMailer.SmtpServers.Add("127.0.0.1", "login", "password&quot;);
&nbsp;           oMailer.SmtpServers[0].AllowRefusedRecipients = false;
            try
            {
                oMailer.Send();
                Console.WriteLine("The message has been successfully sent.");
            }
            catch (MailBeeSmtpRefusedRecipientException e)
            {
                Console.WriteLine("The following recipient was refused by SMTP server: "+
                e.RefusedRecipientEmail);
            }
        }
    }
}
    
VB.NET:
Imports System
Imports MailBee
Imports MailBee.SmtpMail
 
Namespace EmailApp
    Class Class1
         _ 
        Shared  Sub Main(ByVal args() As String)
            Dim oMailer As New Smtp() 
 
            oMailer.From.AsString = "John Doe <j.doe@domain.com> (Company Info)"
 
            oMailer.To.AsString = "Bill Smith <b.smith@domain.com>, Kathy Ritchie <kr@compay.com> (Company Info)"
 
            oMailer.Subject = "Test e-mail"
 
            oMailer.BodyPlainText = "This is a test e-mail message."
 
            oMailer.BodyHtmlText = "<DIV>Test HTML message.</DIV><BR><BR>" & vbCrLf & _
            "<FONT face=""Arial Black"" color=#0000ff size=5>" & vbCrLf & _
            "<P align=left><STRONG><U>" & vbCrLf & _
            "This is a test HTML mes-sage." & vbCrLf & _
            "</U></STRONG></P></FONT>" & vbCrLf & _
            "<hr size=1>" & vbCrLf & _
            "<a href=""//www.afterlogic.com"">www.afterlogic.com</a>"
 
            oMailer.AddAttachment("C:\annual_reoprt.xls")
 
            oMailer.SmtpServers.Add("127.0.0.1", "login", "password")
 
            oMailer.SmtpServers(0).AllowRefusedRecipients = False
 
            Try
                oMailer.Send()
                Console.WriteLine("The message has been successfully sent.")
            Catch e As MailBeeSmtpRefusedRecipientException
                Console.WriteLine("The following recipient was refused by SMTP server: "+
                e.RefusedRecipientEmail)
            End Try
        End Sub
    End Class
End Namespace
 

试用、下载、了解更多产品信息请点击""   

 


标签:.NET电子邮件

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP