MailBee.NET Objects Developer's Guide

 

Create and send e-mails with MailBee.NET SMTP component

 

Here you can find the detailed developer guides on how to create and send e-mail messages with SMTP component of MailBee.NET family.

 

This section also describes the related tasks like how to verify an e-mail address, make DNS queries, send custom SMTP commands, along with general features like logging, async programming, using in a web application, troubleshooting, and so on.

 

Getting started guide is a quick tour of the features and usage samples. In particular, its Feature map topic allows you to quickly find the feature you're looking for.

 

Other guides provide more detailed and comprehensive information and code samples on the particular features.

 

Getting started with SMTP component

Introduction

Feature map as compared with System.Net.Mail.SmtpClient

Import namespaces and set license key

Send e-mail in a single line of code

Send e-mail to SMTP relay server

Send HTML e-mail with attachment

Send e-mail with Reply-To and multiple To, CC and BCC recipients

Send if server requires SMTP authentication

Send if server requires SSL (like Gmail)

Send e-mail directly without SMTP relay server

Verify e-mail address without sending actual e-mail

Exceptions and errors

MS Exchange SMTP issues

Log file of SMTP conversation

Troubleshoot common sending errors and non-delivery

 

Send from ASP.NET web application

Requirements and limitations

Send simple e-mail in ASP.NET

Send e-mail with attachment uploaded from client

 

Compose complex e-mail with multiple parts and attachments

Send e-mail with separate HTML and plain-text parts

Send e-mail with HTML part and auto-generated plain-text part

Send e-mail with attachments from file, stream, memory, another message

Send HTML e-mail with embedded pictures

Send e-mail created from web page content

Create HTML in memory and automatically embed linked resources

Create HTML in memory and manually embed linked resources

 

Compose e-mail created from another object or file

Send e-mail created from System.Net.Mail.MailMessage

Send e-mail created from memory

Send e-mail created from file

Send e-mail created from serialized XML

Send e-mail created from Outlook .MSG message

 

Compose international e-mail

Charsets, code pages, encodings, and UTF-8

Content-transfer encodings

UTF-8 or local language-specific charset?

HTML META tag with charset declaration

HTML-encoded international characters ("&#xxxx;" sequences)

Send plain-text e-mail with Chinese content and "utf-8" or "gb2312" charset

Send plain-text e-mail with Windows-1252 headers (German characters in From, Subject, To)

Send HTML e-mail with international characters

Compose e-mail in right-to-left language like Hebrew

Send e-mail with international characters in headers, body, attachment filenames

 

Set From, Reply-To, Return-Path, To, CC, BCC, Priority and other headers in e-mail

Introduction

Set different From and Return-Path (use "real" sender address different from "From" address)

Send to undisclosed recipients (use "real" recipient addresses different from "To", "CC", "BCC" addresses)

Set "Request delivery confirmation" and "Request read confirmation" flags

Set Reply-To

Reply to message and set In-Reply-To and References headers

Set Importance, Priority, Sensitivity flags

Set custom Date and Message-ID values

Add custom headers

 

Mail merge and bulk mail

Mail merge in MailBee.NET

Bulk mail, explained

Error processing in bulk mail operations

Send series of e-mails based on template and database

Mail merge with post processing

Monitor mail merge progress and track successful and failed sendings

Submit e-mails generated with mail merge to MailBee.NET Queue

 

Request delivery and reading confirmation

Comparison of various methods of requesting delivery and reading confirmations

Request delivery and reading confirmation via message headers

Request delivery status notification with ESMTP DSN

Use ESMTP DSN and message headers together

ESMTP DSN in detail

Fine-tune ESMTP DSN and assign Tracking ID to e-mail

 

Adjust e-mail to let it pass through spam filters

Sign e-mail with DomainKeys and DKIM

General suggestions

 

Sign and encrypt e-mail with S/MIME

Introduction

Sign e-mail with S/MIME to prove authenticity of sender

Sign and encrypt e-mail with S/MIME to ensure privacy and security

 

Accepted and refused recipients

Introduction

Allow or disallow refused (failed) recipients

Get successful and failed recipients after sending e-mail

Use events to track successful and failed recipients during sending e-mail

 

Direct send without SMTP relay server

Send with SMTP relay server, explained

Direct send via DNS MX lookup, explained

Set DNS servers in code, via auto-detection, or in config file

Direct send example

Set appropriate Hello message to pass reverse DNS check

Direct send vs normal send

Validate e-mail address via syntax check and DNS MX lookup

 

Filter spam with DNS queries (MX, SPF, DKIM, reverse DNS)

Introduction

Get DNS MX records

Get SPF or DKIM ADSP records with DNS TXT query

Get reverse DNS records with DNS PTR query

Use rDNS to check if sender's IP address matches HELO domain

Use rDNS query to find out if sender is home computer or Internet server

 

Send multiple individual e-mails or send through multiple servers

Introduction

Send two e-mails in single session

Send two e-mails in single session via SSL or STARTTLS

Send bulk e-mail through two SMTP relay servers for increased throughput

Send through main SMTP relay server or through fail-over SMTP relay server if main server is down

Send through SMTP relay server or use direct send if SMTP relay server is down

Submit to MailBee.NET Queue for increased or limited throughput

Throttle throughput (limit sending rate)

Performance optimization

 

SMTP over SSL (Gmail.com, Live.com, certificates)

Features supported

Auto-detect SSL settings based on the port and host

Connect to dedicated SSL port

Connect to regular port and use STARTTLS to activate SSL

Advanced STARTTLS

Configure SSL protocol (Auto, SSL, TLS)

Supply client certificate and check server certificate

Validate server certificate selectively

Validate server certificate without throwing exception

 

SMTP authentication in detail

SMTP authentication explained

POP-before-SMTP or ESMTP?

Authenticate with POP-before-SMTP

ESMTP authentication in more detail

Secure authentication

Use Integrated Windows Authentication (no username and password required)

Use OAuth with Gmail (no password required)

Fine-tune SMTP authentication process

Create your own authentication method

 

Advanced SMTP connections (proxy, extensions, custom hello, commands and ports)

Connect via proxy server (SOCKS4, SOCKS5, HTTP)

Connect to non-standard SMTP port

Set local end point in case of multiple network adapters or firewall

Send custom Hello message to server

Examine supported ESMTP extensions

Disable conflicting ESMTP extensions

Send custom command to server

 

SMTP with filesystem, POP3, IMAP (forward from POP3, send to SMTP and IMAP)

Introduction

Load e-mail from file and send it

Send e-mail and save it to Sent Items on IMAP server

Send e-mail and save it to file stream

Receive e-mail with POP3, forward it as attachment of another e-mail and send with SMTP

Receive e-mail with IMAP, reply to it and send via SMTP

 

Use events to control MailBee.NET execution and monitor SMTP activities

Introduction

Monitor progress of SMTP session with events

Change e-mail message during sending

Cancel sending process

 

Handle exceptions and errors

Introduction

Error codes and localization of error messages

Connection-level and protocol-level exceptions

Final errors, warnings, and ErrorOccurred event

Exceptions and async methods

TestSend example

 

Asynchronous methods of Smtp class

Introduction

Send single e-mail asynchronously

Send multiple e-mails asynchronously

 

Log files and memory logs in detail

Logger settings and options

Synchronize access to log file of multiple instances of Smtp class

LogNewEntry event

 


Send feedback to AfterLogic

Copyright © 2006-2012 AfterLogic Corporation. All rights reserved.