Отправить копию исходящих сообщений на другой адрес


12

Есть ли способ получить копию любого сообщения, отправленного из учетной записи Gmail, на другой адрес?

У меня есть какие-либо сообщения, приходящие на мой адрес, скопированные в другое (см. Этот вопрос для одного решения, настройка фильтров - другое), но я еще не нашел способ автоматического копирования исходящих сообщений.

Есть ли способ?


Вы можете попробовать установить правило пересылки для условия, from:meно я никогда не пробовал его раньше.
dnbrv

from:meФильтр не работает (только пробовал), вероятно , потому , что фильтры срабатывают на входящие сообщения.
Эль

1
Согласен, это не работает.
Даг Харрис

Было бы неплохо сохранить / отправить копию через интерфейс Gmail. Самым простым способом может быть использование поля bcc. Было бы больно вводить новый адрес все время, но этот метод сработал бы.
JW8

Взгляните на совместную почту, функцию групп Google. Вместо того, чтобы электронная почта от веб-сайта, адресованная одному человеку, доставляла его группе. Совместные входящие функции позволяют легко увидеть, какие запросы были обработаны. См support.google.com/a/bin/answer.py?hl=en&answer=167430
Видар С. Ramdal

Ответы:


4

Настройте фильтр для применения метки ко всей вашей исходящей почте (От: yourID@gmail.com получает метку «исходящая») НЕ под фильтрами, а при пересылке, включите пересылку всей почты на один целевой адрес.

Ограничения:

Если вы попытаетесь сделать это исключительно с помощью фильтров, пересылка не произойдет. Вы должны включить пересылку всей почты предполагаемому получателю («менеджеру») на вкладке переадресации. Вы не можете переадресовывать на несколько адресов таким образом, если не используете основной адрес получателя, чтобы затем разбить почту на несколько получателей. Вся почта, как входящая, так и исходящая, будет пересылаться.


3
Я пытаюсь следовать этим инструкциям, но я не совсем понимаю, что мне делать. Поэтому я создаю исходящий фильтр, затем перехожу в «Настройки»> «Переадресация» и сообщаю Gmail пересылать всю почту моей цели, а затем что?
Джеффри Бут

Да, пожалуйста, объясните, пожалуйста, ваши шаги инструкции
Ричард

1
это не работает, пожалуйста, не тратьте свое время. Фильтры не работают с исходящими сообщениями
Роберт Синклер,

1
@RobertSinclair, на самом деле они работают, но не для всех действий. Например. маркировка исходящих сообщений будет работать, а пересылка - нет. И я, конечно, полностью согласен с вашим первым утверждением о том, что не нужно тратить время, этот ответ вводит в заблуждение и его следует опустить.
дес

3

Конечно, вы можете сделать это с https://script.google.com .

Ограничение, вероятно, будет заключаться в том, что копирование будет происходить не сразу, а по времени. В зависимости от типа вашей учетной записи и объема исходящей электронной почты, задержка может составлять 5 минут или более.

Я не знаю готового сценария, который может это сделать, но вы можете адаптировать его в принятом ответе здесь: Как я могу автоматически пересылать электронные письма Gmail, когда применяется метка?

В частности, вы можете искать метку: отправленные электронные письма за последний час без метки пользователя уже_пришла или чего-то еще, что вы создали, а затем переслать эти сообщения с помощью скрипта. Затем добавьте метку уже, чтобы они не переадресовывались. Затем запустите код для запуска каждую минуту, 5 минут, 10 минут или что-либо еще, что может выдержать ваша учетная запись.

Автор этого сценария утверждает, что он может делать то, что вы хотите, хотя я не пробовал: https://www.labnol.org/internet/auto-forward-gmail-messages/20665/


2

В Gmail нет способа автоматически пересылать отправленные письма на другой аккаунт.

Опция может быть использование почтового клиента , чтобы перетащить отправленную почту с одного счета на другой (или партии вперед). Я уверен, что с правильным плагином для Thunderbird вы можете автоматически пересылать определенные папки


2

Используйте Gmail Auto BCC для Greasemonkey.

/* This greasemonkey script automatically BCCs (or CCs) outgoing email from 
 * a gmail address to a specified email address
 *
 * Author: Jaidev K Sridhar mail<AT>jaidev<DOT>info
 * Version: v20130510-1
 * 
 * Copyright (c) 2005-2011, Jaidev K Sridhar
 * Released under the GPL license version 2.
 * http://www.gnu.org/licenses/gpl-2.0.html
 */

// ==UserScript==
// @name        Gmail Auto BCC
// @namespace   http://jaidev.info/home/projects/gmailAutoBcc
// @description This greasemonkey script automatically BCCs (or CCs) outgoing email from a gmail address to a specified email address. This version is for the "new" version of gmail (Nov 2007).
// @include     http*://mail.google.com/mail/*
// @include     http*://mail.google.com/a/*
// @version     v20130510-1
// ==/UserScript==

// Control parameters -- tweak in about:config
// gBccMail = email Address : Email address to BCC to
// gBccEnabled = true / false
// gBccPopup = true / false : Pops up a confirmation prompt before adding BCC
// gBccHeader = "bcc" : Header to add. By default BCC. Can be set to "cc".
// gBccMapFromAddress = true / false : Use different addresses for different
//                                     identities or different gmail accounts
// gBccLogging = 0-3 : Set log level (0-Disable, 1-Errors, 2-Warnings, 3-Verbose)
//

var redo_copy = 0;
var force_popup = false;        /* For non-firefox users */
var gmail = null;
var logging = 0;
var L_ERR = 1;
var L_WAR = 2;
var L_VER = 3;
var ga_retries = 0;
var TOCLS = "dK nr";
var TOLISTCLS = "am";
var REBTN1 = "T-I J-J5-Ji T-I-Js-IF aaq T-I-ax7 L3";
var REBTN2 = "mG";
//var FWBTN2 = "XymfBd mD";
var RABTN = "b7 J-M";
var SENDTOOLTIP = "Send";

function gBccLog (level, logmsg) {
    if (logging == 0) {
    logging = GM_getValue ('gBccLogging');
    if (logging == undefined) {
        logging = 1;
        GM_setValue ('gBccLogging', logging);
    }
    }
    if (logging >= level) {
    var d = new Date();
    GM_log ("<" + level + ">[" + d.toLocaleTimeString() + "] " + logmsg);
    }
}

function addBcc (tgt, oD) {
    var enabled = GM_getValue('gBccEnabled');
    if (enabled == false) {
    gBccLog (L_VER, "Script disabled");
    return;
    }
    else if (enabled != true) {
    /* We're probably running for the first time */
    GM_setValue('gBccEnabled', true);
    GM_setValue('gBccPopup', false); // FALSE by default
    GM_setValue('gBccMapFromAddress', true); // TRUE by default 
    GM_setValue ('gBccLogging', 1);
    enabled = true;
    }
    var form;
    var forms = oD.getElementsByTagName ('form');
    for (var i = 0; i < forms.length; i++) {
    if (forms[i].elements.namedItem ('bcc')) {
        form = forms[i];
        break;
    }
    }
    //if (tgt.form) {
    //  form = tgt.form;
    //}
    //else {
    //  if (tgt.getAttribute ('class') == REBTN) {
    //    form = tgt.parentNode.parentNode.nextSibling.firstChild.firstChild.firstChild.nextSibling.lastChild.firstChild.lastChild.firstChild.firstChild.firstChild.nextSibling.firstChild;
    //  }
    //  else if (tgt.getAttribute ('class') == RABTN) {
    //    form = tgt.parentNode.parentNode.nextSibling.firstChild.firstChild.lastChild.lastChild.firstChild.lastChild.firstChild.firstChild.firstChild.nextSibling.firstChild;
    //  }
    //}
    if (!form) {
    gBccLog (L_ERR, "No form");
    return;
    }
    var header = GM_getValue ('gBccHeader');
    if (!header || !(header == "cc" || header == "bcc")) {
    header = "bcc";
    GM_setValue ('gBccHeader', "bcc");
    }
    gBccLog (L_VER, "Header = " + header);
    var dst_field;
    if (header == "cc")
    dst_field = form.elements.namedItem('cc');
    else 
    dst_field = form.elements.namedItem('bcc');
    if (!dst_field) {
    gBccLog (L_ERR, "No dst");
    return;
    }
    var gStatus = dst_field.getAttribute ('gid');
    dst_field.setAttribute ('gid', "gBccDone");
    /* Get the address to cc/bcc to */
    var mapFrom = GM_getValue ('gBccMapFromAddress');
    var remove = false;
    if (form.elements.namedItem ('from')) {
    var from = form.elements.namedItem('from').value;
    }
    else {
    from = GM_getValue ('gBccCU');
    }
    if (mapFrom == true && from) {
    gBccLog (L_VER, "Mapping identities");
    var email = GM_getValue ('gBccMail_' + from);
    if (gStatus == "gBccDone" && redo_copy == 0) {
        if (tgt.nodeName == 'SELECT') {
        var lue = GM_getValue ('gBccLU');
        if (lue == null) {
            remove = false;
        }
        else if (lue == email) {
            gBccLog (L_VER, "Already copied");
            return;
        }
        var lu = new RegExp (lue + "(, )?");
        remove = true;
        }
        else {
        return;
        }
    }
    if (email == "disabled") {
        gBccLog (L_VER, "Disabled for sender " + from);
        if (remove == false)
        return;
        email = "";
    }
    if (!email) {
        email = prompt("gmailAutoBcc: Where do you want to bcc/cc your outgoing gmail sent from identity: " + from + "?\n\n Leave blank to disable gmailAutoBcc for this identity.");
        if (email == false) {
        GM_setValue ('gBccMail_' + from, "disabled");
        gBccLog (L_VER, "Disabling for sender " + from);
        if (remove == false)
            return;
        email = "";
        }
        else {
        GM_setValue ('gBccMail_' + from, email);
        gBccLog (L_VER, "Enabling for sender " + from + "; Copying " + email);
        }
    }
    }
    else {
    gBccLog (L_VER, "Not mapping");
    if (gStatus == "gBccDone" && redo_copy == 0) {
        /* Don't insert again! */
        gBccLog (L_VER, "Already copied");
        return;
    }
    var email = GM_getValue('gBccMail');
    if (!email) {
        email = prompt("gmailAutoBcc: Where do you want to bcc/cc all your outgoing gmail?");
        if (email == null || email == "" ) 
        return;
        GM_setValue('gBccMail', email);
        gBccLog (L_VER, "Enabling default, copying " + email);
    }
    if (mapFrom != false) 
        GM_setValue('gBccMapFromAddress', true); // TRUE by default
    }
    /* Should we confirm? */
    redo_copy = 0;
    var popup = GM_getValue ('gBccPopup');
    if ((popup == true || force_popup == true) && email != "" ) {
    if (confirm("Do you want to add BCC to " + email + "?") == false) {
        gBccLog (L_VER, "Not copying");
        return;
    }
    }
    else if (popup != false) {
    GM_setValue ('gBccPopup', false); // FALSE by default
    }
    if (dst_field.value) {
    if (remove) {
        var bcc_str = dst_field.value;
        if (bcc_str.match (lu)) {
        /* Remove old email */
        var new_bcc_str = bcc_str.replace (lu, "");
        var end = new RegExp ("(, )?$");
        dst_field.value = new_bcc_str.replace (end, "");
        gBccLog (L_VER, "Replaced " + lue + " with " + email);
        }
    }
    }
    if (email == "")
    return;
    if (dst_field.value) {
    dst_field.value = dst_field.value+", " +email;
    }
    else {
    dst_field.value = email;
    }
    gBccLog (L_VER, "Copied " + email);
    /* Don't repeat */
    GM_setValue ('gBccLU', email);
}

function gBccInit () 
{
    try {
    if (typeof (GM_getValue) != 'function')  {
            GM_log ("gmailAutoBcc: Greasemonkey function not available. If on Google Chrome or Chromium, re-install the script through TamperScript.");
    }
    var root = document;
    if (unsafeWindow.GLOBALS) {
            GM_setValue ('gBccCU', unsafeWindow.GLOBALS[10]);
    }
    root.addEventListener ("blur", function(event) {
        if (typeof (event.target.getAttribute) == 'function') {
        var tg_cl = event.target.getAttribute ("class");
        if (!tg_cl) return;
        if (tg_cl.match (TOCLS)) {
            gBccLog (L_VER, "Trigger = field");
            window.setTimeout (addBcc, 500, event.target, event.target.ownerDocument);
        }
        else if (tg_cl.match (REBTN1) || 
             tg_cl.match (RABTN)) {
            gBccLog (L_VER, "Trigger = timeout");
            window.setTimeout (addBcc, 500, event.target, event.target.ownerDocument);
        }
        else {
            //gBccLog (L_VER, "blur: " + tg_cl);
            return;
        }
        }
    }, true);
    root.addEventListener ("change", function (event) {
        if (event.target.getAttribute ('name') == 'from') {
        gBccLog (L_VER, "Trigger = sender change");
        addBcc (event.target, event.target.ownerDocument);
        }
        else if (event.target.getAttribute ('name') == 'to') {
        gBccLog (L_VER, "Trigger = to");
        window.setTimeout (addBcc, 500, event.target, event.target.ownerDocument);
        }
    }, true);
    root.addEventListener ("click", function (event) {
        if (typeof (event.target.getAttribute) == 'function') {
        var tg_cl = event.target.getAttribute ("class");
        if (tg_cl && tg_cl.match (REBTN2))
        {
            gBccLog (L_VER, "CLICK: " + tg_cl);
            redo_copy = 1;
            window.setTimeout (addBcc, 500, event.target, event.target.ownerDocument);
        }
        else {
            //gBccLog (L_VER, "CLICK: " + tg_cl);
        }
        var tip = event.target.getAttribute("data-tooltip");
        if (tip && tip.match (SENDTOOLTIP)) {
            addBcc(event.target, event.target.ownerDocument);
        }
        }
    }, true);

    gBccLog (L_VER, "Initialized Script");
    }
    catch (ex) {
    GM_log ("gmailAutoBcc: Exception '"+ ex.message);
    if (ga_retries < 3) {
        ga_retries ++;
        window.setTimeout (gBccInit, 250);
    }
    }
} /* gBccInit */

window.setTimeout (gBccInit, 750);

1

Насколько я знаю, есть два способа сделать это. Одним из них является создание списка рассылки и добавление в него всех электронных писем, и она должна будет ответить всем, или вы можете установить этот скрипт Greasemonkey , который будет делать то, что вы хотите.


1

Я сделал библиотеку PHP, чтобы просто сделать это: fog

Вам просто нужно скопировать файлы на веб-сервере, настроить файл use.php и вызвать вашу страницу с MyWebCron cronили с webcronнего.

Часть имени папки из $hostnameпеременной также должна быть настроена так, чтобы она соответствовала вашему имени в папке входящих.


Так как мой вопрос был за несколько месяцев до другого, я думаю, что другой будет дубликатом. Но спасибо, что указал мне на ответ.
Даг Харрис

Вы правы, поэтому я положил ответ здесь
Ка.

Ка, я не очень техничен, как я могу автоматически получать копии отправленных писем на другую почту (предположим, что обе учетные записи

@yousuf, я не знаю ни одного существующего сервиса, который бы делал это, но если вам это действительно нужно, пожалуйста, свяжитесь со мной по почте (ka@weedo.fr), я пришлю вам предложение. Если у вас есть разработчик, он может использовать мой код (и даже улучшить его :)
Ка.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.