가장 최신 버전의 Gmail 앱은 알림에서 직접 보관 처리하거나 이메일에 답장을 선택할 수있는 훌륭한 기능입니다.
내 문제는 알림에서 알림을 보관하면 읽음으로 표시되지 않고 읽지 않은 상태로 유지된다는 것입니다. 어쨌든 그 문제를 해결할 수 있습니까?
알림에서 직접 보관 된 모든 전자 메일을 자동으로 읽은 것으로 표시하고 싶습니다.
가장 최신 버전의 Gmail 앱은 알림에서 직접 보관 처리하거나 이메일에 답장을 선택할 수있는 훌륭한 기능입니다.
내 문제는 알림에서 알림을 보관하면 읽음으로 표시되지 않고 읽지 않은 상태로 유지된다는 것입니다. 어쨌든 그 문제를 해결할 수 있습니까?
알림에서 직접 보관 된 모든 전자 메일을 자동으로 읽은 것으로 표시하고 싶습니다.
답변:
Google Script라고 했습니까?
이 스크립트의 기본 개념은받은 편지함에없는 (즉, 보관 된) 메시지를 읽은 것으로 표시하는 것입니다.
- 머리 script.google.com는 스크립트를 시작합니다.
- 작은 팝업에서 Gmail 스크립트를 작성하도록 선택하십시오.
- 제공하는 모든 샘플 코드를 삭제하십시오.
이것을 다음으로 바꾸십시오 ( API reference를 사용 하여 작성 ) :
함수 markArchivedAsRead () { var threads = GmailApp.search ( 'label : unread -label : inbox'); GmailApp.markThreadsRead (threads); };파일> 저장을 사용하여 프로젝트를 저장하십시오.
- 파일> 버전 관리를 사용하여 새 버전을 추가하고 "초기 버전"을 입력 한 후 제출하십시오.
- Run> markArchivedAsRead를 사용하여 테스트 실행을 수행하고 요청시 앱을 확인하고 권한을 부여하십시오.
- 리소스> 현재 프로젝트의 트리거를 사용하여 새 트리거를 추가하고 1 분마다 위의 기능을 실행하도록 선택하십시오.
- 스크립트를 다시 저장하고 종료하십시오.
매 분 마다 실행해야한다는 것을 모르겠지만 정기적으로 실행하는 한.
이것은 귀하의 문제에 대한 직접적인 답변이 아니며받은 편지함에없는 읽지 않은 메시지가있는 이유가있는 경우에는 효과가 없습니다.
나는 그것을 다음 Google 스크립트 와 함께 작동하게했다 .
@AlEverett의 답변과 동일하지만 albox는받은 편지함을 완전히 건너 뛴 메시지 (필터 등)를 읽지 않은 것으로 표시되지 않습니다.
불행히도, 메시지를 매우 빠르게 보관하는 경향이 있다면 (평균 30 초 미만) 작동하지 않습니다.
/** Mark as read archived threads which were previously in the inbox (determined by the label "i"). **/
function cleanAndroidArchived(){
markArchivedAsRead();
labelInboxAsI();
}
function markArchivedAsRead() {
var threads = GmailApp.search('in:unread label:i -label:inbox');
var label = GmailApp.createLabel("i");
label.removeFromThreads(threads);
GmailApp.markThreadsRead(threads);
};
function labelInboxAsI() {
var threads = GmailApp.search('in:unread label:inbox');
var label = GmailApp.createLabel("i");
label.addToThreads(threads);
};
@BruceConnor의 경우 문제를 해결했으며 스크립트가 작동하기 전에 기다려야합니다.
Gmail은 필터가 아무 것도 일치하지 않는다고 불평하지만이 경우받은 편지함에 남아있는 모든 수신 메일과 일치합니다.
결과적으로 모든 새 수신 메시지는이 태그에 의해 자동으로 "기억됩니다". 그러면 보관소를 기록 할 때 스크립트가받은 편지함 목록을 "i"레이블과 비교하여 방금 보관 된 메시지를 파악한 다음 " 읽다". 모든 메시지가 보관 "i"대기열에 할당되므로 보관 대기하지 않아도됩니다.
보너스 : 또한 새 "i"레이블을 "메시지 목록에 숨기기"및 "라벨 목록에 숨기기"로 설정하여 전혀 표시되지 않습니다. (새 "i"레이블 옆에있는 작은 화살표를 클릭하고이 옵션을 선택하십시오.)
@ al-e의 답변은 효과가 있지만 의견에 언급 된 약간의 버그가 있습니다. 이 버그를 해결하기 위해 다른 버전의 스크립트를 만들었으며 몇 년 동안 성공적으로 사용했습니다. 사용중인 스크립트는 다음과 같습니다.
function markArchivedAsRead() {
var threads = GmailApp.search('label:unread -label:inbox');
for (var i=0; i<threads.length; i++)
{
var messages = threads[i].getMessages();
var markUnread = 1;
for (var j=0; j<messages.length; j++)
{
if (messages[j].isInInbox())
markUnread = 0;
}
if (markUnread)
threads[i].markRead();
}
};