Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【後で調べる】VBscriptでSMTPサーバに接続して添付ファイル付きメールを送信する  

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

【AIによる回答】

VBScriptで添付ファイル付きSMTPメールを送信するには、CDO.Messageオブジェクトを使用し、CreateObjectで作成したオブジェクトのプロパティを設定します。具体的には、SMTPserverFromToSubjectTextBody、そしてAttachmentFilenameプロパティを設定し、最後にSendメソッドを実行します。
VBScriptコードの例
vbscript
Dim msg
Set msg = CreateObject("CDO.Message")

' 送信元、宛先、件名、本文を設定
msg.From = "sender@example.com"
msg.To = "recipient@example.com"
msg.Subject = "添付ファイル付きメール"
msg.TextBody = "添付ファイルをご確認ください。"

' SMTPサーバーの設定
msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2
msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1
msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = "your_username"
msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "your_password"
msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "your.smtp.server.com"
msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = 587 ' または25
msg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60
msg.Configuration.Fields.Update

' 添付ファイルの指定
msg.AttachmentFilename = "C:\path\to\your\file.txt"

' メール送信
msg.Send

Set msg = Nothing
コードの解説
  1. CreateObject("CDO.Message"): CDO(Collaboration Data Objects)ライブラリのMessageオブジェクトを作成します。
  2. FromToSubjectTextBody: 送信元、宛先、件名、本文を設定します。
  3. msg.Configuration.Fields: SMTPサーバーの設定を行います。
    • sendusing: 2に設定してSMTPで送信するようにします。
    • smtpauthenticate: 1に設定して認証を有効にします。
    • sendusernamesendpassword: SMTPサーバーの認証情報を設定します。
    • smtpserver: 使用するSMTPサーバーのホスト名を指定します。
    • smtpserverport: SMTPサーバーのポート番号を指定します(例: 587, 25)。
    • smtpconnectiontimeout: 接続タイムアウト時間を秒単位で設定します。
  4. msg.AttachmentFilename: 送信する添付ファイルのパスを指定します。複数のファイルを添付したい場合は、msg.addattachmentメソッドを使用してください。
  5. msg.Send: メールを送信します。
  6. Set msg = Nothing: オブジェクトを解放します。
注意:
  • SMTPサーバーへの認証が必要な場合、smtpauthenticatesendusernamesendpasswordの設定が必要です。
  • ポート番号はサーバーによって異なる場合があります(例: 通常のSMTPは25、TLS/SSLを使用する場合は587)。
  • セキュリティのため、パスワードはスクリプトに直接記述せず、より安全な方法で管理することをお勧めします。

VBScriptでメールの送り方を4パターン紹介

技術レポート「Microsoft Collaboration Data Objectsを用いたメールの送信」|ソフテックだより|株式会社ソフテック

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