티스토리 뷰

구글 앱스 스크립트(Apps Script) 활용 (무료)

코딩을 조금 다룰 줄 안다면 별도의 유료 결제 없이 구글에서 제공하는 스크립트로 자동화할 수 있습니다.

  • 방법:
    1. 구글 스프레드시트에 A열(이메일), B열(파일 ID)을 작성합니다. (파일 ID는 드라이브 링크의 d/ 뒤에 오는 긴 문자열입니다.)
    2. 상단 메뉴 **[확장 프로그램] > [Apps Script]**를 클릭합니다.
    3. 아래와 같은 형식의 스크립트를 작성하여 실행합니다.
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를 구글 스프레드시트에 자동으로 나열하는 방법입니다.

  1. 구글 스프레드시트를 하나 새로 만듭니다.
  2. 상단 메뉴에서 확장 프로그램 > Apps Script를 클릭합니다.
  3. 기존 코드를 모두 지우고 아래 코드를 복사해서 붙여넣습니다.
  4.  
    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()]);
      }
    }
    
  5. JavaScript
     
  6. folderId 부분에 파일들이 들어있는 폴더의 ID를 넣습니다. (폴더를 열었을 때 주소창 folders/ 뒤에 나오는 긴 문자열입니다.)
  7. 상단의 실행(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>) 접속 &rarr; 참가 신청 &rarr; 결제 단계에서 쿠폰 코드 입력<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
링크
«   2026/03   »
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
글 보관함