非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Google Apps Scriptから添付ファイル付きメールを送信する方法

   

前回はGoogle Apps Script(GAS)からメールを送信する方法について書きました。オプションを付けるとCCやBCC、メールの送信元の設定もできましたが、オプションで添付ファイルの設定ができるので今回はその方法について紹介します。

 

添付元はGoogleドライブのみ

添付できるのはGoogleドライブに保存されているファイルのみです。GASによるメールでローカルからアップロードすることはできないので、あらかじめGoogleドライブに保存しておきましょう。今回は下記フォルダのTestDocというGoogleドキュメントファイルを送ります。

 

まず、あらかじめ添付ファイルが保存されているフォルダを開いた上で、アドレス末尾のIDを控えておきましょう。これが「フォルダID」になりGASで指定することになります。

 

ソースコード

以下がソースコードです。1行目にフォルダIDを入力しましょう。2行目はそのフォルダ内で添付したいファイル名をしています。

var folder = DriveApp.getFolderById('<フォルダIDを入力>'); //フォルダ名指定
var file = folder.getFilesByName('TestDoc').next(); //ファイル名指定

var address = "****@gmail.com"
var subject = "添付ファイル付きメール"
var body = "添付ファイルをご確認ください。"
var options = { attachments: [file] }

GmailApp.sendEmail(address, subject, body, options)
 

 

ファイルIDを指定する方法もあるのですが、それだとGoogleアプリしか使えず例えばPDFファイルなんかは指定できません。フォルダIDからファイル指定した方が無難です。

 

実行結果

上記を実行すると指定したアドレスに添付ファイルがメールで送られます。

 

なんとGoogleドキュメントはPDFに変換されていました。勝手に変換されてしまいましたが会社での業務の場合は便利な機能だと思います。外部に生のオフィスファイルを送るのはご法度なので通常では手作業でPDF化した後に添付しているわけで、この一連の作業が自動化してくれるわけですね。

社内でファイルをやり取りする上では余計な機能とも言えますが、社内でのやり取りはGoogleドライブ上で共有化することを想定しているのでしょう。

 

スポンサーリンク

 - Google Apps Script, Google Dirve