GMail API

scorpion-ds

Новичок
Не знаю, напрямую это связано с возможностями Gmail или поддерживается самим почтовым протоколом, но задача такая.

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

Практически, это необходимо для размещения в тексте каждой копии письма "пикселя" который будет отслеживать момент открытия письма.

Подскажите, хоть в каком направлении копать.

P.S.: Это реализовано в mixmax.com, письмо отправляется через их сервис, в итоге в исходящих лежит одно письмо, а получатели получают "свои" письма.
 

AnrDaemon

Продвинутый новичок
Это возможности сервиса. На уровне протокола этого не сделать.
 

AnrDaemon

Продвинутый новичок
Ты ищешь то, чего не существует… поэтому и найти не можешь.
 

scorpion-ds

Новичок
Я ищу сейчас решение в Gmail API, mixmax каким-то образом это реализует, используя доступ к моей учетной записи через OAuth авторизацию. После отправки письма через их форму, пользователям приходят по сути разные письма (с разными ссылками на "пиксели"), тем не менее в исходящих лежит еще один вариант письма со своими ссылками, но с тем же получателями.

Я могу через API сам вставлять письма в отправленные, без отправки, а отправлять другими запросами с уникальным содержимым и удалять эти письма из отправленных. Это бы работало, но когда я буду слать оригинальные "копии писем" с указанными TO, CC, BCC, то каждый такой "оригинал" будет отправлен получателю, то есть сколько получателей, столько каждый из них и получит писем. Как-то так ...
 

scorpion-ds

Новичок
Но у писем все же разный message-id..?
Одинаковый у всех копий писем.

Заголовки писем:
Код:
Delivered-To: [email protected]
Return-path: <[email protected]>
Authentication-Results: mxs.mail.ru; spf=pass (mx31.mail.ru: domain of gmail.com designates 209.85.216.194 as permitted sender) [email protected] smtp.helo=mail-qt0-f194.google.com;
     dkim=pass header.d=gmail.com
Received-SPF: pass (mx31.mail.ru: domain of gmail.com designates 209.85.216.194 as permitted sender) client-ip=209.85.216.194; [email protected]; helo=mail-qt0-f194.google.com;
Received: from mail-qt0-f194.google.com ([209.85.216.194]:34758)
    by mx31.mail.ru with esmtp (envelope-from <[email protected]>)
    id 1cyP1U-0007Ld-90
    for [email protected]; Wed, 12 Apr 2017 23:37:52 +0300
Received: by mail-qt0-f194.google.com with SMTP id r49so5448243qta.1
        for <[email protected]>; Wed, 12 Apr 2017 13:37:51 -0700 (PDT)
DKIM-Signature: ***
X-Google-DKIM-Signature: ***
X-Gm-Message-State: AN3rC/7LpS2Avuv/5WWqV8Xo5awG9huHQRvoDoK7IyBhT0KwgV6y1wec2m/0o6rIxiTLTA==
X-Received: by 10.237.60.210 with SMTP id e18mr27837380qtf.141.1492029470535;
        Wed, 12 Apr 2017 13:37:50 -0700 (PDT)
Received: from [127.0.0.1] (send-25.prod.mixmax-mailer.com. [52.5.177.219])
        by smtp.gmail.com with ESMTPSA id i19sm8398968qte.31.2017.04.12.13.37.49
        for <[email protected]>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 12 Apr 2017 13:37:50 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="----sinikael-?=_1-14920294697020.28463737929435506"
From: Docsify Test <[email protected]>
To: [email protected], [email protected], [email protected]
Subject: Test
Message-Id: <[email protected]>
Date: Wed, 12 Apr 2017 20:37:46 +0000
X-Mixmax-Message-Id: sXZv7elM5eJ2kRPi6
Delivered-To: [email protected]
X-Mailer: Mixmax (mixmax.com)
MIME-Version: 1.0
X-DMARC-Policy: none
X-DMARC-Result: pass
X-Mras: OK
X-Spam: undefined
 

scorpion-ds

Новичок
Мне нужно, что-то вроде такого по своей сути:
https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/personalizations.html -

завтра еще разберу, что это за сервис, но это больше похоже на Amazon SES или MailChimp, а нам надо реализовать средствами Gmail API, пользователь только должен дать права (OAuth) на доступ к своему аккаунту.
 

antson

Новичок
Партнер клуба
яндекс и майл ру кабинет постмастера не смотрели ? там конечно не на каждое письмо.
яндекс отчетах гдето попадалось ваши письма чаще всего читают в интервале времени такомто.

насколько я понимаю вставить в каждую копию личнодляполучателя можно только одним способом
из (b)cc сделать индивидуальное письмо.
Был бы exim, можно было бы встроится в фильтры писем.
Во времена начала интернета был механизм письмо на список рассылки .
 

scorpion-ds

Новичок
С индивидуальными письмами понятно, но смысл именно полная имитация работы gmail, это встраиваемый сервис, идея подмена формы отправки в gmail на свою, при этом письмо отправляется через наш сервис, где будет вставлен пиксель, после через Google API, письмо отправляется от почты авторизованного клиента.

Mixmax как-то это делает ...
 

scorpion-ds

Новичок
Мое предложение было создавать и класть в отправленные письмо, отдельно отправлять индивидуальные письма, но возникает проблема, что все получатели должны получить письма со своим содержимым, но общими для всех cc, bcc, но если эти заголовки заполнены, то эти индивидуальные письма и им уходят ..., ну и ответы на отправленные письма должны связываться в интерфейсе гугла.

Я бы еще копал в этом направлени, но так не хочет руководство, так как идет перерасход лимита запросов Google api.
 
Последнее редактирование:

antson

Новичок
Партнер клуба
@scorpion-ds, bcc - насколько помню видит только отправитель.
у вас задача модифицировать поведение почтового сервера. т.е. как бы переписать приватный метод в классе .
Имхо пока такого не сделают в апи не решаемо. Только в объеме bcc
отослали персональные письма .
попробывали в почтовый ящик как отправленое засунуть псевдо письмо с полным bcc
Проверьте можно ли изменять заголовки у писем, которые уже отправлены.
Если да, первое персональное оставляем. второе и далее удаляем и правим заголовки у первого.
 

scorpion-ds

Новичок
BCC, все равно должен получить не свой email в TO, а оригинальный, это значит на TO отправятся тоже письма.

Я вот как раз и хочу попробовать править заголовки писем и не отправляя их класть в отправленные, а получателям что-то нахимичить, что бы реальные заголовки игнорировались, а письмо через API отправлялось только нужным получателям.

В общем сейчас у меня задача, или доказать что Mixmax используется для отправки свой SMTP (но по заголовкам я этого не вижу) или найти как это они сделали через апи.
 

AnrDaemon

Продвинутый новичок
Сравни пути писем отправленных на несколько разных адресов через этот твой миксмакс.
 

scorpion-ds

Новичок
Если сравнивать пути, то mixmax есть такой путь:

это SMTP я так понимаю
Код:
Received: from mail-qk0-x242.google.com (mail-qk0-x242.google.com [2607:f8b0:400d:c09::242])
    by mxfront7h.mail.yandex.net (nwsmtp/Yandex) with ESMTPS id Ewfc8Hfjw3-tObOgCtn;
***
Received: by mail-qk0-x242.google.com with SMTP id d131so7551737qkc.0
и еще есть такой:
Код:
Received: from [127.0.0.1] (send-12.prod.mixmax-mailer.com. [52.200.39.124])
        by smtp.gmail.com with ESMTPSA id z4sm15365058qkc.68.2017.04.13.02.55.22
У меня же выходит так:

также гугловые smpt
Код:
Received: from mail-qk0-x22e.google.com (mail-qk0-x22e.google.com [2607:f8b0:400d:c09::22e])
    by mxfront4h.mail.yandex.net (nwsmtp/Yandex) with ESMTPS id YkQDd27mpZ-pfIqsgoN;
***
Received: by mail-qk0-x22e.google.com with SMTP id d131so43671207qkc.3
но "второй" выглядит так:
Код:
Received: from 41964554236 named unknown by gmailapi.google.com with HTTPREST;
судя на имени, это google api
 

AnrDaemon

Продвинутый новичок
Когда я говорю "сравнивать" я имею в виду именно это.
По заголовкам видно, одно ли письмо отправлялось, или он нагенерил пачку, и где именно нагенерил.
Вот честно, мне даже спорить не интересно, я заранее знаю ответ, но ты так не хочешь его принять, что прямо смешно становится.
 

scorpion-ds

Новичок
Вот честно, мне даже спорить не интересно, я заранее знаю ответ, но ты так не хочешь его принять, что прямо смешно становится.
Мне нужно определить как это работает у mixmax, сейчас самая правдоподобная версия, что они используют свой SMTP, где они мухлюют с заголовками. Если подтвердится, что у них свой smtp и он позволяет подделывать From, то будем копать в эту сторону, хотя даже не представляю как можно настроить такой smtp.
 

scorpion-ds

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