SQLの窓

2014年10月18日


PowerShell2.0 : PowerShell のコードだけで TKMP.dll を使用してメールを送信する

関連する記事

PowerShell2.0 : PowerShell 内で VBのコードを記述(TKMP.dllを使用)してメールを送信する

VB.net のコードを埋め込むと、いったんビルドしないと動かなかったですが、Add-Type で TKMP.dll をロードして使うとあっさり動きました。以前はFramework のクラスとメソッドでロードしていたみたいですが、Add-Type でたいてい簡単にアセンブリを使えるように設計されているようです。

TKMP.dll を最初にテストした 2010年4月では、TKMP.dll のバージョンは、2.0.0 でしたが、現在は 3.1.4 です。

▼ DLL ダウンロード
.NET用メール送受信クラスライブラリ (TKMP.DLL)
Add-Type -Path "C:\user\TKMPDLL_3.1.4\TKMP.dll"

$mail = New-Object TKMP.Writer.MailWriter

$ToAddress = "宛先メールアドレス"

# 差出人
$mail.FromAddress = "差出人メールアドレス"
# あて先
$mail.ToAddressList.Add($ToAddress)
# 本文のクラスを作成します
$part = New-Object TKMP.Writer.TextPart("本文`n本文")
#送信メールクラスに本文を登録
$mail.MainPart = $part


# 相手のメーラーで「差出人」として表示
$mail.Headers.Add("From", "わたし <$($mail.FromAddress)>")
# 相手のメーラーで「あて先」として表示されます
$mail.Headers.Add("To", "あなた <$ToAddress>")
# メールの件名
$mail.Headers.Add("Subject", "タイトル")
# 付加情報など
$mail.Headers.Add("X-Mailer", "TKMP Version 3.1.4")

# サーバーへ接続
#------------------------------------------------------
# SMTPサーバーを利用する場合に認証が必要なときは以下のようにインスタンスを作成します
$logon = New-Object TKMP.Net.AuthLogin($mail.FromAddress, "パスワード")
$smtp  = New-Object TKMP.Net.SmtpClient("SMTPサーバー", 587, $logon)

# 接続
if ( $smtp.Connect() -eq $false ) {
	"接続に失敗しました。"
}
else {
	$smtp.SendMail($mail)
	"メールを送信しました"
}

#------------------------------------------------------
# サーバーから切断します
#------------------------------------------------------
$smtp.Close()




【PowerShellの最新記事】
posted by lightbox at 2014-10-18 17:00 | PowerShell | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり