彩票走势图

MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件

原创|使用教程|编辑:黄竹雯|2017-05-15 15:38:19.000|阅读 429 次

概述:本文主要介绍了MailBee.NET Objects中发送发送带有嵌入对象的电子邮件的代码示例。欢迎您下载试用版进行运用!

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

相关链接:

 
为了发送带有嵌入对象的电子邮件,开发人员应该使用SMTP object。首先,开发人员应该按照【MailBee.NET Objects发送电子邮件(SMTP)教程一】中所述指定SMTP对象的所有必要属性。
 
如果HTML格式的邮件没有任何嵌入对象,开发人员可以使用SMTP.BodyHtmlText属性或SMTP.Message.LoadBodyText方法来设置邮件正文。
 
SMTP.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><p>
        <hr size=1>
  &nbsp;     <a href=""//www.afterlogic.com"">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><p>" & vbCrLf & _
        "<hr size= 1>" & vbCrLf & _
        "<a href= ""//www.afterlogic.com"">www.afterlogic.com</a>"
 
也可以使用SMTP.Message.LoadBodyText方法。在这种情况下,开发人员可以从指定的URI中加载消息,如下所示:
C#:
oMailer.Message.LoadBodyText(@"//www.domain.com/index.htm", MessageBodyType.Html);  
VB.NET:
oMailer.Message.LoadBodyText("//www.domain.com/index.htm", MessageBodyType.Html)
 
或者
C#:
oMailer.Message.LoadBodyText(@"C:\Temp\saved_web_page.htm", MessageBodyType.Html);   &nbsp; 
VB.NET:
oMailer.Message.LoadBodyText("C:\Temp\saved_web_page.htm", MessageBodyType.Html)

否则,开发人员应该调用SMTP.Message.LoadBodyText方法来编写一个包含嵌入对象(图像,音频或视频)的消息。以下示例将邮件正文加载为默认编码以及指定URI中的所有相关文件:
C#:
oMailer.Message.LoadBodyText(@"//www.domain.com/index.htm ", 
                MessageBodyType.Html,
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles|
                ImportBodyOptions.ImportRelatedFilesFromUris);       
VB.NET:
oMailer.Message.LoadBodyText("//www.domain.com/index.htm ", _
                MessageBodyType.Html, _
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles Or _
  &nbsp;             ImportBodyOptions.ImportRelatedFilesFromUris)
 
请注意:在使用SMTP.Message.LoadBodyText方法时,所有相关文件将被添加到邮件中。
 
代码示例:
该示例从拥有嵌入对象的现有网页中创建新邮件并发送。在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using System.Text;
using MailBee;
using MailBee.SmtpMail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Smtp oMailer = new Smtp();
            oMailer.To.AddFromString("Bill Smith <b.smith@domain.com>;");
            oMailer.From.AsString = "John Doe <j.doe@domain.com> (Company Info)";
        &nbsp;   oMailer.Subject = "Test web page";
            oMailer.Message.LoadBodyText(@"//www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris);
            try
            {
                oMailer.Send();
                Console.WriteLine("The message has been successfully sent.");
            }
            catch (MailBeeSmtpMessageSizeOutOfRangeException e)
            {
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).");
            }
        }
    }
}
VB.NET:
Imports System
Imports System.Text
Imports MailBee
Imports MailBee.SmtpMail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        <STAThread> _ 
        Shared  Sub Main(ByVal args() As String)
            Dim oMailer As Smtp =  New Smtp() 
 
            oMailer.To.AddFromString("Bill Smith <b.smith@domain.com>")
 
            oMailer.From.AsString = "John Doe <j.doe@domain.com> (Company Info)"
 
            oMailer.Subject = "Test web page"
 
            oMailer.Message.LoadBodyText("//www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris)
 
            Try
                oMailer.Send()
                Console.WriteLine("The message has been successfully sent.")
            Catch e As MailBeeSmtpMessageSizeOutOfRangeException
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

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

 


标签:.NET电子邮件

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP