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: 
21: 
22: 
23: 
 | open System.Net.Mail
open System.IO
let SendTest() =
    use 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"
    use client = new SmtpClient(@"smtpmail.xx.yyyy.com")
    let pretend = false
    
    if pretend then
        let pickupDir =  @"d:\temp\pretendmail"
        Directory.CreateDirectory pickupDir |> ignore
        client.DeliveryMethod <- SmtpDeliveryMethod.SpecifiedPickupDirectory
        client.PickupDirectoryLocation <- pickupDir
    else
        client.DeliveryMethod <- SmtpDeliveryMethod.Network
    
    client.Send msg
 | 
namespace System
namespace System.Net
namespace System.Net.Mail
namespace System.IO
val SendTest : unit -> unit
Full name: Script.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
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
Directory.CreateDirectory(path: string) : DirectoryInfo
Directory.CreateDirectory(path: string, directorySecurity: System.Security.AccessControl.DirectorySecurity) : 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