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

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

MailBee.NET Objects介绍和试用点击查看>>>

 

在单行代码中快速发送电子邮件的最简单的方法是使用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 (Company Info)",
                                "To you ",
                                "Subject", "Plain text body",
                                "HTML-formatted body",
                                null, @"C:\My Documents\report.doc");      

VB.NET:
MailBee.SmtpMail.Smtp.QuickSend("From Me (Company Info)", _
                                "To you ", _
                                "Subject", "Plain text body", _
                                "«html»HTML-formatted body«/html»", _
                                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");     

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 (Company Info)";         

VB.NET:
oMailer.From.AsString = "Dan Brown (Company Info)"

或者

C#:
oMailer.From.AsString = "Dan Brown ";        

VB.NET:
oMailer.From.AsString = "Dan Brown "

或者

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 (Remarks), Kathy@mail.com ";
oMailer.Cc.AsString = "Joe Black , Joseph ";
oMailer.Bcc.AsString = "t.jay@domain.com, s.connor@domain.com";
oMailer.ReplyTo.AsString = "john@domain.com, Barbara Jones ";      

VB.NET:
oMailer.To.AsString = "Bill Smith (Remarks), Kathy@mail.com "
oMailer.Cc.AsString = "Joe Black , Joseph "
oMailer.Bcc.AsString = "t.jay@domain.com, s.connor@domain.com"
oMailer.ReplyTo.AsString = "john@domain.com, Barbara Jones "

要指定邮件主题,开发人员应使用SMTP对象的Subject属性,如下所示:

C#:
oMailer.Subject = "Test message";         

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 = @"

Test HTML message.




        
        


        This is a test HTML mes-sage.
        


        
        www.afterlogic.com";​

VB.NET:

oMailer.BodyHtmlText = "

Test HTML message.



" & vbCrLf & _        "" & vbCrLf & _
        "

" & vbCrLf & _
        "This is a test HTML mes-sage." & vbCrLf & _
        "

" & vbCrLf & _
        "" & vbCrLf & _
        "www.afterlogic.com"

开发人员也可以将这两种类型同时使用。在这种情况下,邮件客户端的设置会影响显示哪个正文。
要将任何文件附加到电子邮件中,开发人员应使用AddAttachment方法,该方法只需要开发人员指定此文件的完整路径。要添加多个附件,开发人员应重复调用AddAttachment方法,如下所示:

C#:
oMailer.AddAttachment(@"C:\annual_reoprt.xls");
oMailer.AddAttachment(@"C:\deposits.doc");       

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 (Company Info)";

            oMailer.To.AsString = "Bill Smith , Kathy Ritchie (Company Info)";

            oMailer.Subject = "Test e-mail";

            oMailer.BodyPlainText = "This is a test e-mail message.";

            oMailer.BodyHtmlText = @"

Test HTML message.




            
           


            This is a test HTML mes-sage.
           


           
            www.afterlogic.com";

            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 (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 (Company Info)"
 
            oMailer.To.AsString = "Bill Smith , Kathy Ritchie (Company Info)"
 
            oMailer.Subject = "Test e-mail"
 
            oMailer.BodyPlainText = "This is a test e-mail message."
 
            oMailer.BodyHtmlText = "

Test HTML message.



" & vbCrLf & _
            "" & vbCrLf & _
            "

" & vbCrLf & _
            "This is a test HTML mes-sage." & vbCrLf & _
            "

" & vbCrLf & _
            "" & vbCrLf & _
            "www.afterlogic.com"
 
            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

转载于:https://my.oschina.net/u/3279502/blog/891780

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值