ส่งสำเนาข้อความขาออกไปยังที่อยู่อื่น


12

มีวิธีที่จะส่งสำเนาข้อความใด ๆ ที่ส่งจากบัญชี Gmail ไปยังที่อยู่อื่นหรือไม่?

ฉันได้รับข้อความที่มาถึงที่อยู่ของฉันคัดลอกไปยังที่อื่น (ดูคำถามนี้สำหรับโซลูชันหนึ่งการตั้งค่าตัวกรองเป็นอีก) แต่ฉันยังไม่พบวิธีที่จะคัดลอกข้อความขาออกโดยอัตโนมัติ

มีวิธีหรือไม่?


คุณสามารถลองตั้งกฎการส่งต่อสำหรับเงื่อนไขfrom:meแต่ฉันไม่เคยลองมาก่อน
dnbrv

from:meกรองไม่ทำงาน (เพียงพยายามมัน) อาจจะเป็นเพราะฟิลเตอร์จะมีการหารือเกี่ยวกับข้อความขาเข้า
เบียร์

1
ตกลงมันไม่ทำงาน
Doug Harris

ยินดีที่ได้บันทึก / ส่งสำเนาผ่านอินเทอร์เฟซ gmail วิธีที่ง่ายที่สุดอาจใช้ฟิลด์ bcc มันเป็นความเจ็บปวดที่จะพิมพ์ที่อยู่ใหม่ตลอดเวลา แต่วิธีนี้ใช้ได้ผล
JW8

ลองดูที่กล่องจดหมายความร่วมมือซึ่งเป็นคุณลักษณะของ Google Groups แทนที่จะส่งอีเมลจากเว็บไซต์ไปยังบุคคลเดียวให้ส่งไปยังกลุ่มแทน คุณลักษณะกล่องจดหมายความร่วมมือทำให้ง่ายต่อการดูว่ามีการจัดการคำขอใด ดูsupport.google.com/a/bin/answer.py?hl=th&answer=167430
Vidar S. Ramdal

คำตอบ:


3

ตั้งค่าตัวกรองเพื่อใช้ป้ายกำกับกับจดหมายขาออกทั้งหมดของคุณ (จาก: yourID@gmail.com ได้รับป้ายกำกับ "ขาออก") ไม่อยู่ภายใต้ตัวกรอง แต่ภายใต้ตัวกรอง แต่ภายใต้การส่งต่อให้เปิดใช้งานการส่งต่อจดหมายทั้งหมดไปยังที่อยู่เป้าหมายเดียว

ข้อ จำกัด:

หากคุณพยายามทำสิ่งนี้โดยใช้ตัวกรองเพียงอย่างเดียวการส่งต่อจะไม่เกิดขึ้น คุณต้องเปิดใช้งานการส่งต่อจดหมายทั้งหมดไปยังผู้รับที่ตั้งใจ ("ผู้จัดการ") จากแท็บการส่งต่อ คุณไม่สามารถส่งต่อไปยังที่อยู่หลายแห่งด้วยวิธีนี้ได้เว้นแต่คุณจะใช้ที่อยู่ผู้รับหลักเพื่อแยกอีเมลเป็นหลาย ๆ จุดหมายปลายทาง จดหมายทั้งหมดทั้งขาเข้าและขาออกจะถูกส่งต่อ


4
ฉันพยายามทำตามคำแนะนำเหล่านี้ แต่ฉันไม่ชัดเจนเกี่ยวกับสิ่งที่ฉันควรทำ ดังนั้นฉันจึงสร้างตัวกรองขาออกจากนั้นไปที่การตั้งค่า»การส่งต่อและแจ้งให้ Gmail ส่งต่อจดหมายทั้งหมดไปยังเป้าหมายของฉันแล้วจะเป็นอย่างไร
เจฟฟรีย์บูธ

ใช่คุณช่วยอธิบายรายละเอียดขั้นตอนการสอนของคุณได้ไหม
Richard

1
สิ่งนี้ใช้ไม่ได้โปรดอย่าเสียเวลา ตัวกรองไม่ทำงานกับข้อความขาออก
Robert Sinclair

1
@RobertSinclair จริงๆแล้วมันใช้งานได้ แต่ไม่ใช่สำหรับทุกการกระทำ เช่น. การติดป้ายข้อความที่ส่งออกจะใช้งานได้ แต่การส่งต่อจะไม่ และแน่นอนว่าฉันเห็นด้วยอย่างยิ่งกับข้อความแรกของคุณเกี่ยวกับการไม่เสียเวลาคำตอบนี้ทำให้เข้าใจผิดและควรลดระดับลง
dess

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 เพื่อทำเช่นนั้น: หมอก

คุณเพียงแค่ต้องคัดลอกไฟล์บนเว็บเซิร์ฟเวอร์ปรับแต่งไฟล์ use.php และเรียกหน้าของคุณจากcronหรือจากwebcronMyWebCron เช่น

ส่วนชื่อโฟลเดอร์จาก$hostnameตัวแปรจะต้องได้รับการปรับแต่งเช่นกันเพื่อให้ตรงกับชื่อกล่องจดหมายของคุณ


เนื่องจากคำถามของฉันคืออีกไม่กี่เดือนก่อนหน้านี้ฉันคิดว่าอีกคำถามหนึ่งจะซ้ำซ้อน แต่ขอบคุณที่ชี้นำฉันไปที่คำตอบ
Doug Harris

คุณพูดถูกแล้วฉันตอบคำตอบที่นี่
Ka

ka, ฉันไม่ใช่ช่างเทคนิค, ฉันจะรับสำเนาของจดหมายที่ส่งโดยอัตโนมัติไปยังจดหมายอื่นได้อย่างไร (สมมติว่าทั้งสองเป็นบัญชี gmail) ขอบคุณ

@ yousuf ฉันไม่ทราบว่าบริการที่มีอยู่ที่ทำเช่นนั้น แต่ถ้าคุณต้องการมันจริงๆโปรดได้รับการติดต่อกับฉันทางอีเมล (ka@weedo.fr) ฉันจะส่งข้อเสนอให้คุณ หากคุณมีนักพัฒนาอยู่รอบตัวคุณเขาสามารถใช้รหัสของฉัน (และปรับปรุงให้ดีขึ้นได้ด้วย :)
Ka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.