Autor Zpráva
Enko
Profil *
Ahoj,
na odesílání emailů používám toto:
<?php
mail($pro, $predmet, $zprava, $head, "-f " . ERROR_REPLY);
?>
Pátý parametr funkce mail tam je z důvodu, pokud cílový mailserver odmítne přijmout zprávu a konstanta ERROR_REPLY je email, na který příjde zpráva o odmítnutí. Co ale potřebuji je, abych ve zprávě o odmítnutí dostal více informací než jak je ve výchozím nastavení. Lze nějak toto z PHP editovat? Například přidáním nějakých dalších emailových hlaviček?

Děkuji
Joker
Profil
Enko:
Tu zprávu odesílá mailserver příjemce, takže to asi nepůjde.
Enko
Profil *
Nepůjde nějakou mailovou hlavičkou z PHP něco dalšího přidat? Protože mail servery mi vrací původní hlavičky, které vypadají nějak takto:

Received: from db-new (192.168.5.11) by jmeno.mailserver.neco
 (192.168.3.1) with Microsoft SMTP Server id 14.3.146.0; Thu, 15 Aug 2013
 15:40:40 +0200
Received: by db-new (Postfix, from userid 33)    id 9FB4D61454; Thu, 15 Aug 2013
 15:40:39 +0200 (CEST)
To: <blblablaaa@domena.cz>
Subject: =?utf-8?B?T2JqZWRuw6F2a2EgQW1SZXN0?=
X-PHP-Originating-Script: 508:functions.php
From: <odkoho@nekde.cz>
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64
Message-ID: <20130815134039.9FB4D61454@db-new>
Date: Thu, 15 Aug 2013 15:40:39 +0200
Return-Path: jmeno@nekde.cz
loyza
Profil
Enko: zkus se trochu rozepsat co bys tam potřeboval mít. Třeba to jde obejít jinak.
Enko
Profil *
Potřebuju tam předat například ID záznamu z databáze. Záznam, který se bude o několik řádků předem ukládat. A tímto emailem se odesílají některé infromace, které předtím ukládám do databáze. Je sice pravda, že podle času a emailových adres příjemce a odesílatele toto můžu vyvodit, ale je to zbytečné hledání. Nejlepší by bylo posílat tam ID záznamu z DB.
Nějaké nápady? :-)
loyza
Profil
Ještě pořád moc nevím co přesně chceš docílit, ale napíšu ti jak jsem něco podobného řešil v já.

Mám službu, kam se registrují uživatelé se svým emailem aby dostávali pravidelně nějaké emailové zprávy. Při každé registraci si do databáze uložím jeden řádek s uživatelem. No a pak odesílám emaily tomu uživateli vždycky do Return_Path dávám jednu speciální schránku. Pokud uživatel email nedojde tak se vrátí do té speciální schránky. Pak mám nějaký cron, který prochází tu schránku a vytahuju z toho ty emaily. Podle příjemce si vratku identifikuju s uživatelem. Pro každý vrácený email přidám tomu uživateli v databázi trestné body a taky se uloží ta vratka. Počet trestných bodů závisí na tom jak přesně vypadá ta vratka. Jsou různé třeba pro přeplněnou schránku, nebo pro neexistujícího uživatele. Pokud počet trestných bodů přeleze přes určitou hranici, tak se tomu uživateli stopne odesílání emailů.
Pokud se takový zabanovaný uživatel přihlásí na webu, nebo obrátí na support, tak se dozví, že má stopnuté emaily a také důvod proč tomu tak je z těch uložených vratek. Trestné body si může na webu zresetovat, nebo support to pro něho může udělat.
Pokud ovšem je nějaký uživatel takto zabanovaný půl roku, tak se z databáze nenávratně smaže.

Pomohlo ti to trochu?
Enko
Profil *
loyza:
No todle, co píšeš je jasný, takhle to mám taky. Na stejném principu, jen bez těch bodů :-)
Ovšem situace je taková, že mám několik emailových adres na které chodí objednávky z eshopu z intranetu. A nastala situace, že dodavatel tvrdí, že mu na email žádná emailová objednávka nepřišla, přitom jí mám v systému odeslanou a bez vrácené chyby nedoručitelnosti. A mým cílem je, dostat někam(kamkoliv například do hlaviček emailu nebo do kusu zprávy, které se v případě nedoručitelnosti vrátí), abych pak mohl zjisiti která přesně objednávka se neodeslala. Protože může být víc objednávek ve stejný čas na stejnou emialovou adresu najednou. A chci, pokud to bude možné zjistit přesný identifikátor (id záznamu nákupu z eshopu) v databázi, abych pak s tímto mohl pracovat dál. Sice šance, že toto nastane je malá, ale je.
Už mi rozumíš? :-)
loyza
Profil
Chápu. Vidím, že emaily jsou html, tak co třeba do těla zprávy dát html komentář:
<!-- #DBID:1234# -->
třeba ještě s nějakým hashem pro ověření.
Enko
Profil *
Jojo, dobrej nápad :-) Bohužel tělo zprávy se mi nevrací, jen to co je vidět výše. Takže to IDčko budu muset asi přidat do předmětu a bude. Díky za nápad!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: