매주 특정 시간에 Gmail 자동 응답을 보내는 방법은 무엇입니까?


9

월요일부터 목요일까지만 모니터링되는 Gmail 계정이 있습니다. 목요일 오후와 월요일 아침 사이에 수신 된 전자 메일에 대해 미리 준비된 회신을 자동으로 보내도록 설정하고 싶습니다. 보낸 사람에게 월요일 아침까지 전자 메일이 표시되지 않으며 긴급 연락처 정보를 제공합니다.

현재 Gmail에서 직접 할 수 있다고 생각하지 않습니다. (휴가 답장을 수동으로 켜고 끌 필요가 있으며 통조림 이메일에 대한 필터에는 날짜 / 시간 옵션이 포함되어 있지 않습니다.) 매주 반복되는 Gmail "부재 중"답장을 설정할 수 있습니까? 또한 적어도 질문 당시에는 Gmail에서 가능했음을 제안합니다.

이것을 달성하기 위해 간단한 코딩을 할 수있는 해결 방법이나 방법이 있습니까? 소프트웨어 개발 배경이 있지만 일반인이 Gmail을 확장하기 위해 어떤 옵션을 사용할 수 있는지 잘 모르겠습니다.



부메랑을보세요. 사용하기 쉽습니다.
Alex

그 설명으로, 그것은 내가 실제로 무엇을 요구했는지 아닌 것 같습니다
PurpleVermont

답변:


8

이를 수행하는 Apps Script는 다음과 같습니다. 이 스크립팅 시작 링크를 클릭하여 Google 드라이브에서 스크립트 편집기를 열 수 있습니다 . 그때:

  1. 편집기의 자리 표시자를 아래에 제공된 스크립트로 바꿉니다.
  2. "리소스>이 프로젝트의 트리거"로 이동하여 5 분마다 자동 회신을 실행하도록 트리거를 설정하십시오.

스크립트의 논리는 아래에 설명되어 있습니다.

function autoReply() {
  var interval = 5;    //  if the script runs every 5 minutes; change otherwise
  var date = new Date();
  var day = date.getDay();
  var hour = date.getHours();
  if ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && hour >= 17)) {
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
    var threads = GmailApp.search('is:inbox after:' + timeFrom);
    for (var i = 0; i < threads.length; i++) {
      threads[i].reply("I am out of office. Your email will not seen until Monday morning.");
    }
  }
}

스크립트는 현재 현지 날짜 / 시간이

  • 금요일, 토요일, 일요일 (일부 5,6,0 일 [5,6,0].indexOf(day)) 또는
  • 월요일 오전 8시 이전 (1 일, 시간 <8)
  • 오후 5시 이후 (4 일, 시간> = 17)

그것이하는 것은 지난 5 분 동안 ( interval 스크립트에서) 받은 모든 메시지를 확인 하고 통조림 텍스트로 각 메시지에 회신하는 것입니다.

트리거가 설정되는 간격과 스크립트에 설정된 간격이 두 시간 간격과 일치해야합니다. 그렇지 않으면 스크립트가 일부 메시지에 응답하지 않거나 여러 번 응답합니다.

비고

5 분이 아닌 1 분마다이 작업을 실행할 수 있습니다. 그러나 이것이 하루 동안 스크립트에 허용되는 최대 실행 시간 (1 시간 총 실행 시간)을 초과하는지 확신 할 수 없었습니다.

레이블 "auto-reply"를 추가하거나 ScriptProperties 에서 마지막으로 실행 한 시간을 저장하는 등의보다 복잡한 형식을 고려했습니다 . 그러나 위의 작업이 완료되고 단순성이 승리합니다.


ifttt.com과 같은 것을 제안하려고했지만 이것이 더 좋습니다!
barrycarter

이 답변에 감사드립니다. 나는 그것을 가지고 놀 기회가 없었지만, 그것을 시도 할 때 효과가 있다고 가정하면 그 대답을 받아들입니다.
PurpleVermont

트리거 메뉴 항목이 편집 메뉴로 이동 한 것을 참고
userSteve

4

user79865의 답변에있는 스크립트는 정말 훌륭합니다! 그러나 근무 시간 이외의 시간에 테스트 메시지를 보냈을 때 다시 업무 시간이 될 때까지 5 분마다 자신에게 답장을했습니다. 이 문제를 해결하기 위해 스크립트를 약간 편집하여 응답을 보내는 for 루프에 if 문을 추가했습니다.

function autoReply() {
var interval = 5;    //  if the script runs every 5 minutes; change otherwise
  var date = new Date();
  var day = date.getDay();
  var hour = date.getHours();
  if ([5,6,0].indexOf(day) > -1 || (day == 1 && hour < 8) || (day == 4 && hour >= 17)) {
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval;
    var threads = GmailApp.search('is:inbox after:' + timeFrom);
    for (var i = 0; i < threads.length; i++) {
      if (threads[i].isUnread()){
      threads[i].reply("I am out of office. Your email will not seen until Monday morning.");
      threads[i].markRead();
      threads[i].markImportant();
      }
    }
  }
}

응답자는 이제 응답을 보내면 스레드를 읽은 것으로 표시하며 읽지 않은 모든 스레드를 무시해야합니다. 내가 부재 중일 때 어떤 이메일이 전송되었는지 추적하기 위해 응답자는 스레드를 중요하게 표시하므로 여전히 실제 회신을 보내는 것을 알고 있습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.