ただしこのクラスの使用は現在推奨されていません。代わりに System.Net.Mail 名前を使うよう推奨されています。VBA、VBScript のデフォルト状態では System.Web.Mail を使えません。Windows PowerShell の場合は、アセンブリの読み込みが必要です。
メールの送信については、実装は CDO.Message を使用しています。
http://msdn.microsoft.com/ja-jp/library/system.web.mail.smtpmail.aspx
CDOSYS (Collaboration Data Objects for Windows 2000) メッセージ コンポーネントを使用してメッセージを送信するための、プロパティとメソッドを提供します。
CDO.Message では SMTP over SSL (ポート465) の SMTP 認証方式を使います。TLS/STARTTLS (ポート587) の SMTP 認証方式には対応していないため、この場合は以下のエラーになります。
エラーメッセージ: 転送においてサーバーに接続できませんでした。
Google のメールサーバ情報
https://support.google.com/mail/answer/13287
Windows PowerShell から System.Web.Mail を使って Gmail へメールを送信するサンプルです。
Windows PowerShell における System.Web.Mail メール送信サンプル
# アセンブリの読み込み # 正式には LoadWithPartialName(非推奨) でなく Load メソッドを使うべき [System.Reflection.Assembly]::LoadWithPartialName("System.Web") $mail = New-Object System.Web.Mail.MailMessage $mail.From = 送信者アドレス $mail.To = 送信先アドレス $mail.Subject = "System.Web.Mail By Windows PowerShell" $mail.Body = "Test Mail. " + [System.DateTime]::Now $uri = "http://schemas.microsoft.com/cdo/configuration/" $mail.Fields.Item($uri + "sendusing") = 2 $mail.Fields.Item($uri + "smtpserver") = "smtp.gmail.com" $mail.Fields.Item($uri + "smtpserverport") = 465 $mail.Fields.Item($uri + "smtpauthenticate") = 1 $mail.Fields.Item($uri + "sendusername") = Googleユーザ名 $mail.Fields.Item($uri + "sendpassword") = Googleパスワード $mail.Fields.Item($uri + "smtpusessl") = $TRUE # $smtp = New-Object System.Web.Mail.SmtpMail [System.Web.Mail.SmtpMail]::SmtpServer = "smtp.gmail.com" [System.Web.Mail.SmtpMail]::Send($mail)
名前空間URLのフィールドについて
上記で使用した 名前空間URL (http://schemas.microsoft.com/cdo/configuration/) のフィールドについては、こちらの記事を参照してください。CDO.Messageによるメール送信
関連する資料のリンク
System.Web.Mail 名前空間http://msdn.microsoft.com/ja-jp/library/system.web.mail.aspx
System.Net.Mail 名前空間
http://msdn.microsoft.com/ja-jp/library/system.net.mail.aspx
CDO.Message オブジェクト
http://msdn.microsoft.com/ja-jp/library/cc421174.aspx
http://schemas.microsoft.com/cdo/configuration/ 名前空間
http://msdn.microsoft.com/en-us/library/ms526318.aspx