PR

Send-MailMessage でメール送信する方法

PowerShell の Send-MailMessage を使用して電子メールを送信する方法です。

スポンサーリンク

Send-MailMessage

この例では、PowerShell から Send-MailMessage を使用して電子メールを送信する基本的な方法を記述します。

コマンド概要は次の通りです:

Send-MailMessage
    [-Attachments <String[]>]
    [-Bcc <String[]>]
    [[-Body] <String>]
    [-BodyAsHtml]
    [-Encoding <Encoding>]
    [-Cc <String[]>]
    [-DeliveryNotificationOption <DeliveryNotificationOptions>]
    -From <String>
    [[-SmtpServer] <String>]
    [-Priority <MailPriority>]
    [-ReplyTo <String[]>]
    [[-Subject] <String>]
    [-To] <String[]>
    [-Credential <PSCredential>]
    [-UseSsl]
    [-Port <Int32>]
    [<CommonParameters>]

※コマンド内の設定やアドレス等は適宜お読み替えください

PowerShell から送信する

準備

PowerShell を起動します。PowerShell を起動する方法については、次のサポート記事をご参照ください:

単純な送信例

次のコマンドを実行して単純に電子メールが送信できるか確認します:

Send-MailMessage `
-from       '[email protected]' `
-to         '[email protected]' `
-subject    'testSubject' `
-body       'testMessage' `
-smtpServer 'xxx.xxx.xxx.xxx'

※ここで日本語を使用すると文字化けしますのでご注意ください

日本語を使用した送信例

日本語を使用する場合は UTF-8 にエンコードするように指定します:

Send-MailMessage `
-from       '[email protected]' `
-to         '[email protected]' `
-subject    '件名' `
-body       '本文' `
-smtpServer 'xxx.xxx.xxx.xxx' `
-Encoding ([System.Text.Encoding]::UTF8)

日本語と認証を使用した送信例

ユーザー名とパスワードで認証して送信します:

$mUser = '[email protected]';
$mPass = convertto-securestring 'password' -asplaintext -force;
$mCred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $mUser, $mPass;
Send-MailMessage `
 -from       $mUser `
 -to         $mUser `
 -subject    '件名' `
 -body       '本文' `
 -smtpServer 'smtp.example.com' `
 -Port       '587' `
 -Credential $mCred `
 -Encoding ([System.Text.Encoding]::UTF8) `
 -UseSSL

コマンド プロンプトから送信する

コマンド プロンプトを使用して電子メールを送信します。コマンド プロンプトを開く方法については、次のサポート記事をご参照ください:

次のコマンドを実行してコマンド プロンプトから電子メールを送信します:

powershell.exe -Command "& {Send-MailMessage -from '[email protected]' -to '[email protected]' -subject '件名' -body '本文' -smtpServer 'xxx.xxx.xxx.xxx' -Encoding ([System.Text.Encoding]::UTF8)}"

次のコマンドを実行してコマンド プロンプトから認証を使用した電子メールを送信します:

powershell.exe -Command "& {$mUser='[email protected]'; $mPass=convertto-securestring 'password' -asplaintext -force; $mCred=New-Object -typename System.Management.Automation.PSCredential -argumentlist $mUser, $mPass; Send-MailMessage -from $mUser -to $mUser -subject '件名' -body '本文' -smtpServer 'smtp.example.com' -Port '587' -Credential $mCred -Encoding ([System.Text.Encoding]::UTF8) -UseSSL}"

参考文献

コマンド詳細や電子メールを送信する方法等については、次の参考文献もご参照ください:

注意

  • 本操作例は Windows 10 のものです

スポンサードリンク

タイトルとURLをコピーしました