次の方法で共有


Send-MailMessage

電子メール メッセージを送信します。

構文

Send-MailMessage
    [-To] <string[]>
    [-Subject] <string>
    [[-Body] <string>]
    [[-SmtpServer] <string>]
    -From <string>
    [-Attachments <string[]>]
    [-Bcc <string[]>]
    [-BodyAsHtml]
    [-Encoding <Encoding>]
    [-Cc <string[]>]
    [-DeliveryNotificationOption <DeliveryNotificationOptions>]
    [-Priority <MailPriority>]
    [-Credential <pscredential>]
    [-UseSsl]
    [-Port <int>]
    [<CommonParameters>]

説明

Send-MailMessage コマンドレットは、PowerShell 内から電子メール メッセージを送信します。

簡易メール転送プロトコル (SMTP) サーバーを指定する必要があります。または、Send-MailMessage コマンドが失敗します。 SmtpServer パラメーターを使用するか、$PSEmailServer 変数を有効な SMTP サーバーに設定します。 $PSEmailServer に割り当てられる値は、PowerShell の既定の SMTP 設定です。 詳細については、about_Preference_Variablesを参照してください。

警告

Send-MailMessage コマンドレットは廃止されています。 このコマンドレットでは、SMTP サーバーへのセキュリティで保護された接続は保証されません。 PowerShell ですぐに置き換える機能はありませんが、Send-MailMessageは使用しないことをお勧めします。 詳細については、「プラットフォーム互換性ノート DE0005」を参照してください。

例 1: あるユーザーから別のユーザーにメールを送信する

次の使用例は、あるユーザーから別のユーザーに電子メール メッセージを送信します。

FromTo、および Subject パラメーターは、Send-MailMessageで必要です。 この例では、SMTP サーバーの既定の $PSEmailServer 変数を使用するため、SmtpServer パラメーターは必要ありません。

$sendMailMessageSplat = @{
    From = 'User01 <user01@fabrikam.com>'
    To = 'User02 <user02@fabrikam.com>'
    Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat

Send-MailMessage コマンドレットは、From パラメーターを使用して、メッセージの送信者を指定します。 To パラメーターは、メッセージの受信者を指定します。 Subject パラメーターは、テキスト文字列 テスト メール をメッセージとして使用します。これは、省略可能な Body パラメーターが含まれていないためです。

例 2: 添付ファイルを送信する

この例では、添付ファイルを含む電子メール メッセージを送信します。

$sendMailMessageSplat = @{
    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 @sendMailMessageSplat

Send-MailMessage コマンドレットは、From パラメーターを使用して、メッセージの送信者を指定します。 To パラメーターは、メッセージの受信者を指定します。 Subject パラメーターは、メッセージの内容を記述します。 Body パラメーターは、メッセージの内容です。

Attachments パラメーターは、電子メール メッセージに添付されている現在のディレクトリ内のファイルを指定します。 Priority パラメーターは、メッセージを優先度 High 設定します。 DeliveryNotificationOption パラメーターは、OnSuccessOnFailureの 2 つの値を指定します。 送信者は、メッセージ配信の成功または失敗を確認する電子メール通知を受け取ります。 SmtpServer パラメーターは、SMTP サーバーを smtp.fabrikam.comに設定します。

例 3: メーリング リストにメールを送信する

次の使用例は、メール メッセージをメーリング リストに送信します。

$sendMailMessageSplat = @{
    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 = $true
}
Send-MailMessage @sendMailMessageSplat

Send-MailMessage コマンドレットは、From パラメーターを使用して、メッセージの送信者を指定します。 To パラメーターは、メッセージの受信者を指定します。 Cc パラメーターは、メッセージのコピーを指定された受信者に送信します。 BCC パラメーターは、メッセージのブラインド コピーを送信します。 ブラインド コピーは、他の受信者から非表示になっているメール アドレスです。 Subject パラメーターは、省略可能な Body パラメーターが含まれていないため、メッセージです。

Credential パラメーターは、ドメイン管理者の資格情報を使用してメッセージを送信することを指定します。 UseSsl パラメーターは、Secure Socket Layer (SSL) がセキュリティで保護された接続を作成することを指定します。

パラメーター

-Attachments

電子メール メッセージに添付するファイルのパスとファイル名を指定します。 このパラメーターを使用するか、パスとファイル名をパイプ処理して Send-MailMessageできます。

型:String[]
Aliases:PsPath
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Bcc

メールのコピーを受信するが、メッセージの受信者として表示されないメール アドレスを指定します。 名前 (省略可能) と電子メール アドレス (Name <someone@fabrikam.com>など) を入力します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Body

電子メール メッセージの内容を指定します。

型:String
配置:2
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-BodyAsHtml

Body パラメーターの値に HTML が含まれていることを指定します。

型:SwitchParameter
Aliases:BAH
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Cc

電子メール メッセージのカーボン コピー (CC) の送信先の電子メール アドレスを指定します。 名前 (省略可能) と電子メール アドレス (Name <someone@fabrikam.com>など) を入力します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

User01Domain01\User01などのユーザー名を入力します。 または、Get-Credential コマンドレットのオブジェクトなど、PSCredential オブジェクトを入力します。

資格情報は PSCredential オブジェクトに格納され、パスワードは SecureStringとして格納されます。

手記

SecureString データ保護 の詳細については、「SecureString のセキュリティ 方法」を参照してください。.

型:PSCredential
配置:Named
規定値:Current user
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DeliveryNotificationOption

電子メール メッセージの配信通知オプションを指定します。 複数の値を指定できます。 既定値は None です。 このパラメーターのエイリアスは DNO です。

配信通知は、From パラメーターのアドレスに送信されます。

このパラメーターに使用できる値は次のとおりです。

  • None: 通知なし。
  • OnSuccess: 配信が成功したかどうかを通知します。
  • OnFailure: 配信が失敗した場合に通知します。
  • Delay: 配信が遅れているかどうかを通知します。
  • Never: 通知しない。

これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、値の配列として、またはそれらの値のコンマ区切り文字列として、DeliveryNotification パラメーターに渡すことができます。 コマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。

型:DeliveryNotificationOptions
Aliases:DNO
指定可能な値:None, OnSuccess, OnFailure, Delay, Never
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Encoding

ターゲット ファイルのエンコードの種類を指定します。 既定値は Defaultです。

このパラメーターに使用できる値は次のとおりです。

  • ASCII ASCII (7 ビット) 文字セットを使用します。
  • BigEndianUnicode ビッグ エンディアンバイト順で UTF-16 を使用します。
  • Default システムのアクティブなコード ページ (通常は ANSI) に対応するエンコードを使用します。
  • OEM システムの現在の OEM コード ページに対応するエンコードを使用します。
  • Unicode リトル エンディアン バイト順で UTF-16 を使用します。
  • UTF7 UTF-7 を使用します。
  • UTF8 UTF-8 を使用します。
  • UTF32 は、リトル エンディアンバイト順で UTF-32 を使用します。
型:Encoding
Aliases:BE
指定可能な値:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
配置:Named
規定値:Default
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-From

From パラメーターが必要です。 このパラメーターは、送信者のメール アドレスを指定します。 名前 (省略可能) と電子メール アドレス (Name <someone@fabrikam.com>など) を入力します。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Port

SMTP サーバー上の代替ポートを指定します。 既定値は 25 で、これは既定の SMTP ポートです。

型:Int32
配置:Named
規定値:25
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Priority

電子メール メッセージの優先順位を指定します。 既定値は標準です。 このパラメーターに使用できる値は、Normal、High、Low です。

型:MailPriority
指定可能な値:Normal, High, Low
配置:Named
規定値:Normal
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SmtpServer

電子メール メッセージを送信する SMTP サーバーの名前を指定します。

既定値は、$PSEmailServer ユーザー設定変数の値です。 基本設定変数が設定されておらず、このパラメーターが使用されていない場合、Send-MailMessage コマンドは失敗します。

型:String
Aliases:ComputerName
配置:3
規定値:$PSEmailServer
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Subject

Subject パラメーターは必要ありません。 このパラメーターは、電子メール メッセージの件名を指定します。

型:String
Aliases:sub
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-To

To パラメーターが必要です。 このパラメーターは、受信者のメール アドレスを指定します。 名前 (省略可能) と電子メール アドレス (Name <someone@fabrikam.com>など) を入力します。

型:String[]
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UseSsl

Secure Sockets Layer (SSL) プロトコルは、メールを送信するリモート コンピューターへのセキュリティで保護された接続を確立するために使用されます。 既定では、SSL は使用されません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

添付ファイルのパスとファイル名をこのコマンドレットにパイプできます。

出力

None

このコマンドレットは出力を返しません。

メモ

Send-MailMessage コマンドレットは廃止されています。 詳細については、「プラットフォーム互換性ノート DE0005」を参照してください。 このコマンドレットでは、SMTP サーバーへのセキュリティで保護された接続は保証されません。

DE0005 では、サード パーティ製ライブラリの使用 MailKitが提案されます。 Exchange Online を使用している場合は、Microsoft Graph PowerShell SDK から Send-MgUserMail を使用できます。