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>]
説明
コマンドレットは Send-MailMessage
、PowerShell 内から電子メール メッセージを送信します。
簡易メール転送プロトコル (SMTP) サーバーを指定する必要があります。または、コマンドが Send-MailMessage
失敗します。 SmtpServer パラメーターを使用するか、変数を$PSEmailServer
有効な SMTP サーバーに設定します。
割り当てられる $PSEmailServer
値は、PowerShell の既定の SMTP 設定です。 詳細については、「about_Preference_Variables」を参照してください。
警告
Send-MailMessage
コマンドレットは廃止されました。 このコマンドレットでは、SMTP サーバーへのセキュリティで保護された接続は保証されません。 PowerShell ですぐに置き換える機能はありませんが、使用しないことを Send-MailMessage
お勧めします。 詳細については、「プラットフォーム互換性に関するメモ DE0005」を参照してください。
例
例 1: あるユーザーから別のユーザーにメールを送信する
次の使用例は、あるユーザーから別のユーザーに電子メール メッセージを送信します。
From、To、Subject の各パラメーターはSend-MailMessage
、 この例では、SMTP サーバーの既定 $PSEmailServer
の変数を使用するため 、SmtpServer パラメーターは必要ありません。
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'
このコマンドレットではSend-MailMessage
、From パラメーターを使用してメッセージの送信者を指定します。 To パラメーターは、メッセージの受信者を指定します。 Subject パラメーターは、オプションの Body パラメーターが含まれていないため、テキスト文字列 Test メールをメッセージとして使用します。
例 2: 添付ファイルを送信する
この例では、添付ファイルを含む電子メール メッセージを送信します。
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>', 'User03 <user03@fabrikam.com>' -Subject 'Sending the Attachment' -Body "Forgot to send the attachment. Sending now." -Attachments .\data.csv -Priority High -DeliveryNotificationOption OnSuccess, OnFailure -SmtpServer 'smtp.fabrikam.com'
このコマンドレットではSend-MailMessage
、From パラメーターを使用してメッセージの送信者を指定します。 To パラメーターは、メッセージの受信者を指定します。 Subject パラメーターは、メッセージの内容を記述します。 Body パラメーターは、メッセージの内容です。
Attachments パラメーターは 、 電子メール メッセージに添付されている現在のディレクトリ内のファイルを指定します。 Priority パラメーターは、メッセージを高優先度に設定します。 DeliveryNotificationOption パラメーターは、OnSuccess と OnFailure の 2 つの値を指定します。 送信者は、メッセージ配信の成功または失敗を確認する電子メール通知を受け取ります。 SmtpServer パラメーターは、SMTP サーバーを smtp.fabrikam.com に設定します。
例 3: メーリング リストにメールを送信する
次の使用例は、メール メッセージをメーリング リストに送信します。
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'ITGroup <itdept@fabrikam.com>' -Cc 'User02 <user02@fabrikam.com>' -Bcc 'ITMgr <itmgr@fabrikam.com>' -Subject "Don't forget today's meeting!" -Credential domain01\admin01 -UseSsl
このコマンドレットではSend-MailMessage
、From パラメーターを使用してメッセージの送信者を指定します。 To パラメーターは、メッセージの受信者を指定します。 Cc パラメーターは、メッセージのコピーを指定された受信者に送信します。 Bcc パラメーターは、メッセージのブラインド コピーを送信します。 ブラインド コピーは、他の受信者から非表示になっている電子メール アドレスです。 オプションの Body パラメーターが含まれていないため、Subject パラメーターはメッセージです。
Credential パラメーターは、メッセージの送信に管理者メイン資格情報を使用することを指定します。 UseSsl パラメーターは、Secure Socket Layer (SSL) がセキュリティで保護された接続を作成することを指定します。
パラメーター
-Attachments
電子メール メッセージに添付するファイルのパスとファイル名を指定します。 このパラメーターを使用するか、パスとファイル名をパイプで渡すことができます Send-MailMessage
。
Type: | String[] |
Aliases: | PsPath |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Bcc
メールのコピーを受信するが、メッセージの受信者として表示されない電子メール アドレスを指定します。 名前 (省略可能) と電子メール アドレスを入力します (例 Name <someone@fabrikam.com>
: .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Body
電子メール メッセージの内容を指定します。
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BodyAsHtml
Body パラメーターの値に HTML が含まれていることを指定します。
Type: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Cc
電子メール メッセージのカーボン コピー (CC) の送信先の電子メール アドレスを指定します。 名前 (省略可能) と電子メール アドレスを入力します (例 Name <someone@fabrikam.com>
: .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01 や Doメイン01\User01 などのユーザー名を入力します。 または、コマンドレットの PSCredential オブジェクト (例: PSCredential オブジェクト) を Get-Credential
入力します。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
Note
SecureString データ保護の詳細については、「SecureString のセキュリティ保護方法」を参照してください。
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DeliveryNotificationOption
電子メール メッセージの配信通知オプションを指定します。 複数の 値を指定することができます。 None が既定値です。 このパラメーターの別名は DNO です。
配信通知は、From パラメーターのアドレスに送信されます。
このパラメーターに使用できる値は次のとおりです。
None
: 通知なし。OnSuccess
: 配信が成功したかどうかを通知します。OnFailure
: 配信が失敗した場合に通知します。Delay
: 配信が遅れた場合に通知します。Never
: 通知しない。
これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、値の 配列として、またはそれらの値のコンマ区切り文字列として DeliveryNotification パラメーターに渡すことができます。 コマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。
Type: | DeliveryNotificationOptions |
Aliases: | DNO |
Accepted values: | None, OnSuccess, OnFailure, Delay, Never |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
ターゲット ファイルのエンコードの種類を指定します。 既定値は utf8NoBOM
です。
このパラメーターに使用できる値は次のとおりです。
ascii
: ASCII (7 ビット) 文字セットのエンコードを使用します。bigendianunicode
: ビッグ エンディアンバイト順を使用して UTF-16 形式でエンコードします。bigendianutf32
: ビッグ エンディアンバイト順を使用して UTF-32 形式でエンコードします。oem
: MS-DOS およびコンソール プログラムの既定のエンコードを使用します。unicode
: リトル エンディアンバイト順を使用して UTF-16 形式でエンコードします。utf7
: UTF-7 形式でエンコードします。utf8
: UTF-8 形式でエンコードします。utf8BOM
: バイト オーダー マーク (BOM) を使用して UTF-8 形式でエンコードします。utf8NoBOM
: バイト オーダー マーク (BOM) を使用せずに UTF-8 形式でエンコードします。utf32
: UTF-32 形式でエンコードします。
PowerShell 6.2 以降では、Encoding パラメーターを使用すると、登録済みコード ページの数値 ID (いいね) -Encoding 1251
や登録済みコード ページの文字列名 (例-Encoding "windows-1251"
) も使用できます。 詳細については、Encoding.CodePage の .NET ドキュメントを 参照してください。
Type: | Encoding |
Aliases: | BE |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | ASCII |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-From
From パラメーターが必要です。 このパラメーターは、送信者のメール アドレスを指定します。 名前 (省略可能) と電子メール アドレスを入力します (例 Name <someone@fabrikam.com>
: .
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
SMTP サーバーの代替ポートを指定します。 既定値は 25 です。これは、既定の SMTP ポートです。
Type: | Int32 |
Position: | Named |
Default value: | 25 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Priority
電子メール メッセージの優先順位を指定します。 既定値は Normal です。 このパラメーターに使用できる値は、Normal、High、Low です。
Type: | MailPriority |
Accepted values: | Normal, High, Low |
Position: | Named |
Default value: | Normal |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ReplyTo
このメッセージへの返信に使用する追加の電子メール アドレス (From アドレス以外) を指定します。
名前 (省略可能) と電子メール アドレスを入力します (例 Name <someone@fabrikam.com>
: .
このパラメーターは、PowerShell 6.2 で導入されました。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmtpServer
電子メール メッセージを送信する SMTP サーバーの名前を指定します。
既定値は、基本設定変数の $PSEmailServer
値です。 基本設定変数が設定されておらず、このパラメーターが使用されていない場合、コマンドは Send-MailMessage
失敗します。
Type: | String |
Aliases: | ComputerName |
Position: | 3 |
Default value: | $PSEmailServer |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Subject
Subject パラメーターは必要ありません。 このパラメーターは、電子メール メッセージの件名を指定します。
Type: | String |
Aliases: | sub |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-To
To パラメーターが必要です。 このパラメーターは、受信者のメール アドレスを指定します。 名前 (省略可能) と電子メール アドレスを入力します (例 Name <someone@fabrikam.com>
: .
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UseSsl
Secure Sockets Layer (SSL) プロトコルは、メールを送信するリモート コンピューターへのセキュリティで保護された接続を確立するために使用されます。 既定では、SSL は使用されません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
入力
添付ファイルのパスとファイル名をこのコマンドレットにパイプできます。
出力
None
このコマンドレットは、出力を返しません。
関連リンク
PowerShell
フィードバック
フィードバックの送信と表示