티스토리 뷰
구글 앱스 스크립트(Apps Script) 활용 (무료)
코딩을 조금 다룰 줄 안다면 별도의 유료 결제 없이 구글에서 제공하는 스크립트로 자동화할 수 있습니다.
- 방법:
- 구글 스프레드시트에 A열(이메일), B열(파일 ID)을 작성합니다. (파일 ID는 드라이브 링크의 d/ 뒤에 오는 긴 문자열입니다.)
- 상단 메뉴 **[확장 프로그램] > [Apps Script]**를 클릭합니다.
- 아래와 같은 형식의 스크립트를 작성하여 실행합니다.
JavaScript
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues(); // 데이터 가져오기
for (var i = 1; i < data.length; i++) {
var email = data[i][0]; // A열: 이메일
var fileId = data[i][1]; // B열: 파일 ID
var file = DriveApp.getFileById(fileId);
GmailApp.sendEmail(email, "제목입니다", "본문 내용입니다.", {
attachments: [file.getAs(MimeType.PDF)]
});
}
}
- 장점: 완전히 무료이며, 원하는 대로 커스텀이 가능합니다.
function sendCertificates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
// i = 1 부터 시작 (첫 번째 줄이 제목 행인 경우)
for (var i = 1; i < data.length; i++) {
var email = data[i][0]; // A열: 이메일
var fileId = data[i][1]; // B열: 파일 ID
var name = data[i][2]; // C열: 수료자 이름
// 데이터가 비어있는지 간단히 체크
if (!email || !fileId) continue;
try {
var file = DriveApp.getFileById(fileId);
var subject = "[사람중심실천연구소] PCT 기본교육 수료증 (" + name + " 님)";
var body = name + " 님, 안녕하세요.\n\n" +
"사람중심실천연구소입니다.\n" +
"PCT 기본교육에 열정적으로 참여해주셔서 감사합니다.\n\n" +
"첨부된 수료증을 확인해 주시기 바랍니다.";
GmailApp.sendEmail(email, subject, body, {
attachments: [file.getAs(MimeType.PDF)],
name: "사람중심실천연구소" // 발신자 이름을 연구소명으로 표시
});
// 발송 성공 시 시트의 D열에 '발송완료' 기록 (선택 사항)
// sheet.getRange(i + 1, 4).setValue("발송완료");
} catch (e) {
console.log(name + " 님 메일 발송 중 오류 발생: " + e.toString());
}
}
}
구글 드라이브의 40개 파일의 파일ID 확인하는 방법
구글 드라이브에 있는 40개 파일의 **파일 ID(File ID)**를 한 번에 확인하고 목록으로 만드는 가장 효율적인 방법 2가지를 알려드립니다. 40개 파일을 일일이 확인하는 것은 번거로우므로 자동화된 방법을 추천합니다.
방법 1: 구글 앱스 스크립트(Apps Script) 사용 (가장 빠름)
특정 폴더 안에 있는 모든 파일의 이름과 ID를 구글 스프레드시트에 자동으로 나열하는 방법입니다.
- 구글 스프레드시트를 하나 새로 만듭니다.
- 상단 메뉴에서 확장 프로그램 > Apps Script를 클릭합니다.
- 기존 코드를 모두 지우고 아래 코드를 복사해서 붙여넣습니다.
-
function listFileIDs() { var folderId = '여기에_폴더_ID를_입력하세요'; // 폴더 주소창의 마지막 부분 var sheet = SpreadsheetApp.getActiveSheet(); var folder = DriveApp.getFolderById(folderId); var files = folder.getFiles(); sheet.clear(); sheet.appendRow(["파일 이름", "파일 ID"]); // 제목 행 while (files.hasNext()) { var file = files.next(); sheet.appendRow([file.getName(), file.getId()]); } } - JavaScript
- folderId 부분에 파일들이 들어있는 폴더의 ID를 넣습니다. (폴더를 열었을 때 주소창 folders/ 뒤에 나오는 긴 문자열입니다.)
- 상단의 실행(Run) 버튼을 누르고 권한 승인을 완료하면, 스프레드시트에 40개 파일의 이름과 ID가 자동으로 채워집니다.
쿠폰발송, HTML사용
function sendConferenceEmails() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
const emailRecipient = data[i][0]; // A열: 이메일
const orgName = data[i][1]; // B열: 기관명
const couponCode = data[i][2]; // C열: 쿠폰번호
if (emailRecipient) {
const subject = `[K-PCP Summit 2026] 공동주최 기관 무료 참가 쿠폰 발송 안내(${orgName})`;
// 1. 일반 텍스트 본문 (HTML을 지원하지 않는 환경용 대비책)
const plainBody = `안녕하십니까, K-PCP Summit 2026 국제 컨퍼런스 준비 사무국입니다.\n\n쿠폰 코드: ${couponCode}`;
// 2. HTML 본문 (여기서 <b> 태그로 진하게 설정)
const htmlBody = `
<p>안녕하십니까, K-PCP Summit 2026 국제 컨퍼런스 준비 사무국입니다.</p>
<p>공동주최 기관에 드리는 감사의 표시로, 귀 기관 소속 인원이 사용할 수 있는 컨퍼런스 무료 참가 쿠폰을 아래와 같이 발송해 드립니다.</p>
<div style="background-color: #f8f9fa; padding: 15px; border-radius: 5px; border: 1px solid #dee2e6;">
<strong>[무료 참가 쿠폰 안내]</strong><br><br>
쿠폰 코드: <span style="font-size: 1.2em; color: #d9534f;"><b>${couponCode}</b></span> (동일번호로 2인까지 등록가능)<br><br>
<strong>사용 방법:</strong> 컨퍼런스 등록 홈페이지(<a href="https://ipcp.or.kr">https://ipcp.or.kr</a>) 접속 → 참가 신청 → 결제 단계에서 쿠폰 코드 입력<br>
<strong>등록 기한:</strong> 2026년 4월 24일까지
</div>
<p><strong>[컨퍼런스 개요]</strong><br>
행사명: K-PCP Summit 2026 국제 컨퍼런스<br>
일시: 2026년 4월 22일(수) ~ 4월 24일(금)<br>
장소: JBK 컨벤션홀</p>
<p>귀 기관의 적극적인 참여와 지원 덕분에 이번 행사가 더욱 뜻깊게 준비되고 있습니다. 행사 당일 현장에서 뵙기를 고대하겠습니다.</p>
<p>관련하여 문의 사항이 있으시면 언제든 사무국으로 연락해 주시기 바랍니다.</p>
<p>감사합니다.<br>
<strong>사람중심실천연구소 / 02-6959-7040</strong></p>
`;
// 메일 발송 (htmlBody 옵션 추가)
GmailApp.sendEmail(emailRecipient, subject, plainBody, {
htmlBody: htmlBody
});
sheet.getRange(i + 1, 4).setValue("발송완료");
}
}
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 글쓰기
- 패러다임 쉬프트
- 생각
- 남한산성 #새 소리 # 안개
- 큐티
- 두 마음 #설교 #대학선교센터 #운동의효과
- 상담학#풀러#코칭상담#ZOOM
- 수강신청
- 파이썬
- r
- 따님
- 출석수업
- 경희대
- 외식
- 방통대
- 아빠랑 딸이랑
- 코칭
- 프로그래밍
- 서울마라톤 #풀코스완주
- 가르침
- 묵상
- 아이스크림
- 편입
- 변화
- 대화
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
글 보관함