5 people like it.
Like the snippet!
Sending an email
Here's how to send an email through SMTP. Works from FSI provided you are an authenticated user for the SMTP server. (Vandalism reverted.)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
|
module Demo =
open System.Net.Mail
let SendTest() =
let msg = new MailMessage("me@mydomain.com", @"you@yourdomain.com", @"A test",
"The lesser world was daubed\nBy a colorist of modest skill.\n\
A master limned you in the finest inks\nAnd with a fresh-cut quill.\n")
msg.Bcc.Add(@"them@theirdomain.com")
let client = new SmtpClient(@"smtpmail.xx.yyyy.com")
let pretend = false
if pretend then
let pickupDir = @"d:\temp\pretendmail"
System.IO.Directory.CreateDirectory(pickupDir) |> ignore
client.DeliveryMethod <- SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation <- pickupDir
else
client.DeliveryMethod <- SmtpDeliveryMethod.Network
client.Send(message)
|
namespace System
namespace System.Net
namespace System.Net.Mail
val SendTest : unit -> unit
Full name: Script.Demo.SendTest
val msg : MailMessage
Multiple items
type MailMessage =
new : unit -> MailMessage + 3 overloads
member AlternateViews : AlternateViewCollection
member Attachments : AttachmentCollection
member Bcc : MailAddressCollection
member Body : string with get, set
member BodyEncoding : Encoding with get, set
member CC : MailAddressCollection
member DeliveryNotificationOptions : DeliveryNotificationOptions with get, set
member Dispose : unit -> unit
member From : MailAddress with get, set
...
Full name: System.Net.Mail.MailMessage
--------------------
MailMessage() : unit
MailMessage(from: string, to: string) : unit
MailMessage(from: MailAddress, to: MailAddress) : unit
MailMessage(from: string, to: string, subject: string, body: string) : unit
property MailMessage.Bcc: MailAddressCollection
System.Collections.ObjectModel.Collection.Add(item: MailAddress) : unit
MailAddressCollection.Add(addresses: string) : unit
val client : SmtpClient
Multiple items
type SmtpClient =
new : unit -> SmtpClient + 2 overloads
member ClientCertificates : X509CertificateCollection
member Credentials : ICredentialsByHost with get, set
member DeliveryMethod : SmtpDeliveryMethod with get, set
member Dispose : unit -> unit
member EnableSsl : bool with get, set
member Host : string with get, set
member PickupDirectoryLocation : string with get, set
member Port : int with get, set
member Send : message:MailMessage -> unit + 1 overload
...
Full name: System.Net.Mail.SmtpClient
--------------------
SmtpClient() : unit
SmtpClient(host: string) : unit
SmtpClient(host: string, port: int) : unit
val pretend : bool
val pickupDir : string
namespace System.IO
type Directory =
static member CreateDirectory : path:string -> DirectoryInfo + 1 overload
static member Delete : path:string -> unit + 1 overload
static member EnumerateDirectories : path:string -> IEnumerable<string> + 2 overloads
static member EnumerateFileSystemEntries : path:string -> IEnumerable<string> + 2 overloads
static member EnumerateFiles : path:string -> IEnumerable<string> + 2 overloads
static member Exists : path:string -> bool
static member GetAccessControl : path:string -> DirectorySecurity + 1 overload
static member GetCreationTime : path:string -> DateTime
static member GetCreationTimeUtc : path:string -> DateTime
static member GetCurrentDirectory : unit -> string
...
Full name: System.IO.Directory
System.IO.Directory.CreateDirectory(path: string) : System.IO.DirectoryInfo
System.IO.Directory.CreateDirectory(path: string, directorySecurity: System.Security.AccessControl.DirectorySecurity) : System.IO.DirectoryInfo
val ignore : value:'T -> unit
Full name: Microsoft.FSharp.Core.Operators.ignore
property SmtpClient.DeliveryMethod: SmtpDeliveryMethod
type SmtpDeliveryMethod =
| Network = 0
| SpecifiedPickupDirectory = 1
| PickupDirectoryFromIis = 2
Full name: System.Net.Mail.SmtpDeliveryMethod
field SmtpDeliveryMethod.SpecifiedPickupDirectory = 1
property SmtpClient.PickupDirectoryLocation: string
field SmtpDeliveryMethod.Network = 0
SmtpClient.Send(message: MailMessage) : unit
SmtpClient.Send(from: string, recipients: string, subject: string, body: string) : unit
More information