Action disabled: media
documents:mail:mail-016
WindowsのWSHでメールを送信する
2017/03/15
WSHでメールを送るときの自分用メモ書き
PowerShellはまだデフォルトで有効になっていない事が多い様なので、WSH+CDOでメールを送る事に。
PowerShellを使う場合でも、CDO.Message オブジェクトを作って同じことをすればよろし。
コード
JScriptで書いたコードをcscriptインタプリタ(WSH)で実行するバッチファイル。
- send.bat
@echo off cscript //nologo sender.js
CDO.Messageを使った送信。JScriptで書いてある。
- sender.js
var mailObj = WScript.CreateObject("CDO.Message"); var schema = "http://schemas.microsoft.com/cdo/configuration"; mailObj.Subject = "テストメール"; mailObj.From = "hogehoge@fugafuga.co.jp"; mailObj.To = "warawara@fugafuga.co.jp"; mailObj.TextBody = "テストメッセージです!"; mailObj.TextBodyPart.Charset ="ISO-2022-JP"; mailObj.Configuration.Fields.Item(schema+"/sendusing") = 2; mailObj.Configuration.Fields.Item(schema+"/smtpserver") = "mail.fugafuga.co.jp"; // smtp host mailObj.Configuration.Fields.Item(schema+"/smtpserverport") = 25; // smtp port //mailObj.Configuration.Fields.Item(schema+"/smtpusessl") = true; // use ssl // use SMTP Auth // mailObj.Configuration.Fields.Item(schema+"/smtpauthenticate") = 1; // mailObj.Configuration.Fields.Item(schema+"/smtpusessl") = true; // mailObj.Configuration.Fields.Item(schema+"/sendusername") = "smtp user-id"; // mailObj.Configuration.Fields.Item(schema+"/sendpassword") = "smtp-password"; mailObj.Configuration.Fields.Update(); mailObj.Send();
SMTPサーバの探し方
SMTPサーバが不明な時は管理者に聞くか自前で探す。
以下は t.vodafone.ne.jp ドメイン宛てのメールを受け付けるSMTPサーバをnslookupコマンドで探す例。
msv.softbank.ne.jp がそれとわかる。
Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\Users\k896951>nslookup -type=mx t.vodafone.ne.jp DNS request timed out. timeout was 2 seconds. サーバー: UnKnown Address: 192.168.1.60 権限のない回答: t.vodafone.ne.jp MX preference = 10, mail exchanger = msv.softbank.ne.jp (root) ??? unknown type 41 ??? C:\Users\k896951>
drillコマンドで探す例。digコマンドでも同じ。
root@yuki:/home/k896951 # drill mx t.vodafone.ne.jp ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 10399 ;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; t.vodafone.ne.jp. IN MX ;; ANSWER SECTION: t.vodafone.ne.jp. 60 IN MX 10 msv.softbank.ne.jp. ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 0 msec ;; SERVER: 133.242.0.3 ;; WHEN: Wed Mar 15 01:49:24 2017 ;; MSG SIZE rcvd: 63 root@yuki:/home/k896951 #
documents/mail/mail-016.txt · 最終更新: 2023/04/14 02:32 by 127.0.0.1