A webformoknál nem a honlap email címe szerepel feladóként!

vlezli képe

Sziasztok!

Egy korábban soha nem tapasztalt hibába futottam bele.

Több ingyenes tárhelyszolgáltató kipróbálása (és a korlátozások, kiesések megtapasztalása) után egy német szolgáltató üzleti csomagja mellett döntöttem, ahol elvileg minden korlátlan, a működtethető honlapok száma is. Át is költöztettem oda a korábban máshol hibátlanul működő honlapjaimat.

Az elhelyezhető honlapok korlátlan száma nekem azt sugallta, hogy a hozzáadott domainnevekkel, a tárhelyrészemen külön mappákba telepített honlapok egymástól teljesen függetlenül fognak működni. De nem így van!

Drupal 7-et használok, és az érintett honlapok például:

http://marvayvonnekollar.com
http://majorteam.ca
http://digitalizalas.info
http://olcsonelado.info
lényegében az összes honlap, amit ezen a tárhelyen működtetek, nem sorolom fel mindet.

A gond az, hogy ezek a honlapok, amikor valamilyen webform kitöltésére kerül sor (árajánlat-, vagy üzleti találkozó kérése, vagy a webhelyszintű kontakt form beküldése), akkor nem a honlap email címéről küldi ki a rendszer az értesítést a honlap gazdájának, illetve a felhasználónak, hanem az 1. képen megjelölt, a tárhelyen alapértelmezettnek választott email címről ([email protected]).

Ez azért nagyon zavaró, mert a honlapoknak más-más a tulajdonosa, akik nem is ismerik egymást(a honlapokat megrendelésre készítettem). Az lenne a normális, ha mindenki a saját honlapjának az email címéről kapná ezeket a leveleket, nem egyközös, "központi" email címről, ami nem is hasonlít a honlap domainnevére.

Érdekes módon új felhasználó létrehozásakor, vagy elfelejtett jelszó kérésekor minden honlap a saját emailjéről küldi ki a felhasználónak a levelet, csak a webformoknál használja az összes honlap ugyanazt az egy, azonos email címet.

Próbáltam a webformok beállítási lehetőségeinél állítgatni a feladó emailcímet (2-3. képek), de hiába van ott a honlap email címe jól beállítva, mégis minden honlap a loopkeepers-es címet használja, de mint írtam csak a webformok esetén.

A szolgáltató cPaneljén, az email-címeknél találtam valami utalást arra, hogy a tárhelyen használt szkripteknél feladóként az alapértelmezett cím lesz a feladó cím(az 1. képen pirossal jelölve).

Valamelyik email címet mindenképp meg kellett jelölnöm alapértelmezettnek, mert itt ez úgy működik, mint a rádiógombok, egynek mindenképp meg kell jelölve lennie. Alapértelmezettnek az [email protected]-ra esett a választásom, gondolom ezért lesz ez a formoknál a küldő cím, ha képen fent pirossal jelölt szövegrészt jól értelmezem.

De ez így teljesen logikátlan számomra! Ha már korlátlan számú honlap elhelyezésére van mód, azoknak nem volna szabad még ennyiben sem függni egymástól, szerintem mindegyik a saját emailjét kéne használja a webformoknál is, nem egy közöset.

Találkozott már valaki ilyen problémával? Ha igen talált rá valamilyen megoldást?

Talán forráskódszinten, valami kódrészlettel rá lehetne a honlapokat kényszeríteni, hogy ne ezt a közös email címet, hanem a sajátjukat használják a webformok esetében is. De hová, melyik fájlba kéne belenyúlni, és konkrétan hogyan...? Már ha egyáltalán csak ez lehetne a megoldás.

Valamilyen ötlet?

Előre is köszönöm, ha valaki megpróbál segíteni!

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Sk8erPeter képe

Ez tényleg fura, legalábbis valóban nem ez az elvárt.
Egy hook_mail_alter-implementációval modulban változtathatóak a küldendő emailre vonatkozó adatok, így a feladó is, valahogy így:
http://drupal.stackexchange.com/questions/66764/change-format-of-webform...
https://drupal.org/node/875092#comment-3380618
De ez szerintem még mindig nem oldaná meg, mivel úgy tűnik, a szolgáltató az értékeket a mail() használatakor (?) felülbírálja, vagy máshonnan ered a probléma.

Én a helyedben első körben kipróbálnám az alábbi modullal történő e-mail-küldést:
https://drupal.org/project/smtp
ez a PHPMailer osztályt veszi igénybe a levélküldésre, az alapértelmezett mail() helyett (link, link).
Ezzel beállíthatsz egy neked tetsző SMTP-szervert (pl. lehet az egy Gmail-fiók, vagy a szolgáltató által biztosított SMTP-szerver), amelyen keresztül az authentikáció és a levélküldés történik.
Remélem, beválik.

4
0
vlezli képe

Köszönöm a tippet!

Kipróbálás után jelentkezem az eredménnyel!

0
0

Veres László

vlezli képe

Jó lett! :)

Az SMTP Authentication Support modul teljes mértékben megoldotta a problémát. A szolgáltató által nyújtott SMTP szervert állítottam be ugyanazokkal az adatokkal, ahogy egy levelező kliensben kellene (portszám, auth-adatok)és egy csapásra megoldódott a probléma.

Három honlapnál is kipróbálva mindent (formkitöltés, regisztráció, új jelszó kérése)a kimenő levelekben a feladó a fenti modulban beállított lett.

További kísérletezéssel viszont kiderült, hogy csak azoknál a honlapoknál volt ilyen form feladói email probléma, amelyeket más tárhelyről költöztettem a mostani tárhelyre. Azok a honlapok, amelyeket már alapból ide telepítettem fel, nem mutattak ilyen hibát, egyből minden jól működött.

Ebből valami olyasmire gondolok, hogy az áthozott honlapokban maradt valami fals beállítás, ami miatt a formok használatánál nem mentek volna ki a levelek a honlap saját email címéről. Valószínűleg ilyen esetekre kellett beállítanom egy alapértelmezett email címet a tárhelyen, ami akkor is működik, amikor egy-egy honlap saját email címe valamiért nem használható. Ilyenkor az alapértelmezett email cím lesz a feladó, bármelyik honlapról is legyen szó a tárhelyen működőek közül.

Kicsit nyakatekert a magyarázatom, de valószínűleg nem járok messze az igazságtól.

De bármi is okozta a hibát, egy a lényeg, hogy most már minden rendesen működik!

Köszönöm szépen a segítséget!

2
0

Veres László

Sk8erPeter képe

Szívesen!

Tényleg fura, hogy mi bírálhatja fölül az email-beállításokat, hacsak nem került egy $conf['site_mail'] beállítás a settings.php-be, vagy nem került felülírásra az admin/config/system/site-information oldalon is látható e-mail-cím adatbázisszinten - de még ha így is történt volna, tudtommal a Webformnak a számára beállított From-címet kellene használnia. Szóval a probléma eredetét én sem teljesen értem, de amúgy sem volt haszontalan, hogy telepítetted az SMTP-modult (ami a PHPMailer osztályt használja, de a Swift Mailer modul is hasznos egyébként (ami nem meglepő módon a Swift Mailer osztályt használja)), mivel az alapértelmezett mail() függvénynek amúgy is megvannak a maga korlátai.

2
0