E-mailek "átirányítása" eredeti fejlécek (Cc, Bcc, To, From, DKIM, stb.) megtartásával
Sziasztok!
Készítettem egy rendszert, amely megadott adatok alapján (imap szerver, user, jelszó, mailbox) csatlakozik egy távoli levélszerverhez, majd ott kikeresi az olvasatlan üzeneteket és átküldi egy megadott címre.
Folyamat nagyjából: Levelet elküldték ide: a##kukac##a.com ----> Megérkezett ide: b##kukac##b.com ----> script megtalálja a levelet, majd imap_mail-lel továbbküldi ide: c##kukac##c.com
Jelenleg ha benne hagyom a To-t, From-ot, Cc-t, Subject-et (meg még párat), akkor több problémával is szembesülök. Ilyenek pl: ha van Cc az eredeti levélben, akkor továbbításnál újra megkapják az abban szereplők, a subject kétszer lesz benne, a To kétszer lesz benne és az új címre (c) és az eredeti címre (b) is kimegy, From ugyanígy kétszer lesz benne.
Ezekre jelenleg az a megoldásom, hogy átírom a nevüket (Pl: To -> X-Original-To), de ez nem célszerű, hiszen így az utolsó címen (c) nem az a cím lesz látható, amire eredetileg küldték, a Cc-k pedig nem is látszanak csak ha megnézem az üzenet forrását.
Hogyan lehetne megoldani, hogy a levél a fejlécek minimális módosításával kerüljön át a végső címre? Tehát tartsa meg a címzett eredeti nevét és címét, a másolatot kapókat (ne küldje ki nekik mégegyszer), és akár a DKIM-et (bár ez annyira nem lényeges most).
(Cél mailszerverhez van mindenféle hozzáférésem, ugyanakkor annak babrálása nélkül szeretném megoldani. Az outlook is tud forwardolni/redirectelni levelet úgy, hogy nem változnak ezek az adatok.)
A hozzászólásokat előre is köszönöm! :)
■ Készítettem egy rendszert, amely megadott adatok alapján (imap szerver, user, jelszó, mailbox) csatlakozik egy távoli levélszerverhez, majd ott kikeresi az olvasatlan üzeneteket és átküldi egy megadott címre.
Folyamat nagyjából: Levelet elküldték ide: a##kukac##a.com ----> Megérkezett ide: b##kukac##b.com ----> script megtalálja a levelet, majd imap_mail-lel továbbküldi ide: c##kukac##c.com
Jelenleg ha benne hagyom a To-t, From-ot, Cc-t, Subject-et (meg még párat), akkor több problémával is szembesülök. Ilyenek pl: ha van Cc az eredeti levélben, akkor továbbításnál újra megkapják az abban szereplők, a subject kétszer lesz benne, a To kétszer lesz benne és az új címre (c) és az eredeti címre (b) is kimegy, From ugyanígy kétszer lesz benne.
Ezekre jelenleg az a megoldásom, hogy átírom a nevüket (Pl: To -> X-Original-To), de ez nem célszerű, hiszen így az utolsó címen (c) nem az a cím lesz látható, amire eredetileg küldték, a Cc-k pedig nem is látszanak csak ha megnézem az üzenet forrását.
Hogyan lehetne megoldani, hogy a levél a fejlécek minimális módosításával kerüljön át a végső címre? Tehát tartsa meg a címzett eredeti nevét és címét, a másolatot kapókat (ne küldje ki nekik mégegyszer), és akár a DKIM-et (bár ez annyira nem lényeges most).
(Cél mailszerverhez van mindenféle hozzáférésem, ugyanakkor annak babrálása nélkül szeretném megoldani. Az outlook is tud forwardolni/redirectelni levelet úgy, hogy nem változnak ezek az adatok.)
A hozzászólásokat előre is köszönöm! :)
Fejlec
Amire itt figyelned kell, hogy az a szerver amin keresztul kuldod a levelet fogadja is el a levelet modositas nelkul, illetve a program amit a kuldeshez hasznalsz ne akarjon beleturmakolni. (Azaz a phpmailer es haverjai egybol kiesnek, illetve a mail() fuggveny PHP-ban szinten.)
Ha ennel tobb segitsegre vagysz, muti a kodot.
Az oké, csak jelenleg nem
Az imap_mail-nál egységesítem a newlineokat. Kb. ennyiről van szó.
A célszerver (c) elfogadja a leveleket, ezzel nincs gond. Megjön minden, csak a címzett a c##kukac##c.com-ra változik, mikor b##kukac##b.com-nak kellene maradnia, a CC-k újra megkapják a levelet, stb.
Implementacio