メール送信
概要 編集
メールを送信します。 現状では gmail での動作を確認しています。
利用方法 編集
- メール送信マクロのコード中、「MY_ADDRESS」「PASSWORD」を設定する。
- メール作成マクロを実行。
- To, Subject および横線以降の本文を記述。
- メール送信マクロを実行。
ソースコード 編集
メール作成 編集
#title="メール作成"
var doc = Document;
if (doc.Path != '' || doc.Text != '') {
Editor.NewFile();
doc = Editor.Documents.Item(Editor.Documents.Count-1);
}
doc.Text = 'To:\nCc:\nBcc:\nSubject:\n------------------------------------------------------------------------\n';
doc.Selection.EndOfLine();
メール送信 編集
#title="メール送信"
var MY_ADDRESS = '***@gmail.com'; // メールアドレス
var PASSWORD = '***'; // パスワード
var Mailer = new ActiveXObject('CDO.Message');
Mailer.From = MY_ADDRESS;
Mailer.BodyPart.Charset = 'utf-8';
// ドキュメントを解析してメール作成
var lines = Document.Text.split('\n');
var setFlag = 0;
for (var i=0; i<lines.length; i++) {
var head = lines[i].split(':')[0].toLowerCase();
switch (head) {
case 'to':
Mailer.To = lines[i].substring(head.length+1);
setFlag |= 1;
break;
case 'cc':
Mailer.CC = lines[i].substring(head.length+1);
break;
case 'bcc':
Mailer.BCC = lines[i].substring(head.length+1);
break;
case 'subject':
Mailer.Subject = lines[i].substring(head.length+1);
setFlag |= 2;
break;
}
if (/^--+$/.test(head)) {
lines.splice(0, i+1);
Mailer.TextBody = lines.join('\n');
setFlag |= 4;
break;
}
}
if (setFlag != 7) {
Alert('メール送信には To, Subject, 本文が必要です。');
Quit();
}
var cdoSendUsingPickup = 1; // Send message using the local SMTP service pickup directory.
var cdoSendUsingPort = 2; // Send the message using the network (SMTP over the network).
var cdoAnonymous = 0; // Do not authenticate.
var cdoBasic = 1; // Use basic (clear-text) authentication.
var cdoNTLM = 2; // Use NTLM authentication.
// メール送信設定
var schemas = 'http://schemas.microsoft.com/cdo/configuration/';
Mailer.Configuration.Fields.Item(schemas + 'sendusing') = cdoSendUsingPort;
Mailer.Configuration.Fields.Item(schemas + 'smtpserver') = 'smtp.gmail.com';
Mailer.Configuration.Fields.Item(schemas + 'smtpserverport') = 465;
Mailer.Configuration.Fields.Item(schemas + 'smtpusessl') = true;
Mailer.Configuration.Fields.Item(schemas + 'smtpauthenticate') = cdoBasic;
Mailer.Configuration.Fields.Item(schemas + 'sendusername') = MY_ADDRESS;
Mailer.Configuration.Fields.Item(schemas + 'sendpassword') = PASSWORD;
Mailer.Configuration.Fields.Item(schemas + 'smtpconnectiontimeout') = 60;
Mailer.Configuration.Fields.Update();
Mailer.Send();
スポンサーリンク