前提・実現したいこと
Google scriptとドキュメントを使い、複数人に一括メール送信ができるツールを作ろうと思っています。
テキストのみ送信は出来るようになったのですが、ドキュメントで作成したメール本文に画像を載せてみたのですが
画像付きでの送信ができません。
スクリプトエディタのどこのコードをどう変えたらよいのか見当がつかず、困っている状況です。
どなたかご教授いただければ幸いです。
発生している問題・エラーメッセージ
相手の受信メールに画像が入った形で送りたいのですが、 テキストのみの状態で送られてしまいます。
該当のソースコード
function sendMail(){
/* スプレッドシートのシートを取得と準備 */
var mySheet=SpreadsheetApp.getActiveSheet(); //シートを取得
var rowSheet=mySheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得
/* ドキュメント「メール本文テスト」を取得する */
var DOC_URL = 'https://docs.google.com/document/d/○○/edit';
var strdoc = DocumentApp.openByUrl(DOC_URL);//ドキュメントをIDで取得
var docText = strdoc.getBody().getText();//ドキュメントの内容を取得
/* メール表題、fromアドレス、差出人名を準備 */
var strSubject="年賀状_○○"; //表題
var strFrom="○○@○○.jp"; //From
var strSender="○○"; //差出人
/* シートの全ての行について社名、姓名を差し込みログに表示*/
for(var i=2;i<=rowSheet;i++){
var strCompany=mySheet.getRange(i,1).getValue(); //先方企業名 var strBushomei=mySheet.getRange(i,2).getValue(); //部署名 var strYakushokumei=mySheet.getRange(i,3).getValue(); //役職名 var strSecond=mySheet.getRange(i,4).getValue(); //姓 var strFirst=mySheet.getRange(i,5).getValue(); //名 var strTo=mySheet.getRange(i,6).getValue(); //toアドレス var strTantousha=mySheet.getRange(i,7).getValue(); //担当者 var strBody=docText .replace(/{先方企業名}/,strCompany) .replace(/{部署名}/,strBushomei) .replace(/{役職名}/,strYakushokumei) .replace(/{姓}/,strSecond) .replace(/{名}/,strFirst) .replace(/{担当者}/,strTantousha); //社名、部署名、役職名、姓、名、担当者を置換
GmailApp.sendEmail(
strTo, //toアドレス
strSubject, //表題
strBody, //本文
{
from: strFrom, //fromアドレス
name: strSender //差出人
}
);
}
}
試したこと
htmlbodyにしたりしましたが、そもそも構文が間違っており、
メールすら送れない状況になりました。。。
上記、構文ではテキストのみの送信は可能でした。
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー