PDA

Zobacz pełną wersję : Chronoforms i onet



wahe
10-11-2012, 00:08
Moze ktoś ma rozwiązanie problemu. Oczywiście jest formularz - jeden mail idzie do klienta drugi do admina. W chronoforms jak sie wpisze w From email (Required) ...@gmail.com to wysyła elegancko do ...@onet.pl, ...@op.pl. no chyba wszędzie i jest poprawnie. Natomiast jak From email (Required) jest "onetowy" lub jakiś mało znany to do ...@gmail.com docierają (jako spam - też wkurzające) ale juz na onet maile wogóle nie docierają. Jak to naprawić? Prosze o pomoc.

pyziak
10-11-2012, 00:42
albo źle zrozumiałem problem, albo rozwiązanie jest banalne:
zalożyć konto email w domenie z której jest wysyłany formularz i wpisac ten email jako From email (Required)

wahe
10-11-2012, 07:45
Też na to wpadłem. Ale jest stary mail firmy. Nowo utworzony na ...@gmail.com bedzie widać w wiadomości od kogo. Oczywiście jest to jakieś rozwiazanie ale bardziej mnie interesuje dlaczego tak sie dzieje. Przecież z onetu to nie sa jakieś dziwne adresy. Co tam siedzi, że nie wysyła akurat z tych?

ugly kid joe
10-11-2012, 09:00
dzieje się tak, ponieważ gmail, traktuje wszelkie formularze z nieuwierzytelnionych źródeł jako SPAM.

albo, odbiorca ustawi sobie adres email z twojej witryny jako wątek "ważny" - w swojej skrzynce gmail, albo musisz to załatwić z google, jako domena wiarygodna, ale wątpię.

wahe
12-11-2012, 10:42
Żeby nie rozwlekać tematu. Główny problem jest taki, że z gmail wysyła natomiast z onetu nie wysyła - From email (Required). Można zmienić maila. Można też nie używać Chronoforms :). Ale problem będzie.

Zaznaczę na początku, że nie mam pewności tego co zrobiłem. To znaczy nie wiem jakie skutki uboczne poza tymi które zaobserwowałem.
Poczytałem i znalazłem coś takiego. Domyślna konfiguracja w administratorze strony w sektorze poczta - PHP mail. Wpisany mail, który ma służyć do wysyłania.
W Joomla 2.5 w libraries/phpmailer/phpmailer.php jest kod od linii 739 do 743 taki:

if (empty($this->Sender)) {
$params = "-oi ";
} else {
$params = sprintf("-oi -f %s", $this->Sender);
}
Facet pisze, że można to zakomentować, można też usunąć. Zobaczyłem, że daje to taki efekt, że maile dochodzą do wypełniającego formularz (mówię o adresach ...@op.pl i ...@gmail - nie miałem czasu na testowanie z innych domen), natomiast nie dochodzą do ustawionego w chronoforms "To (Required)" (w moim przypadku to ten sam mail co w administratorze strony. Tu właśnie nie wiem co zrobiłem bo za bardzo nie znam się na php ale po prostu zmieniłem kod na:

if (empty($this->Sender)) {
$params = "-oi ";
}
Wykasowałem od else.
Maile dochodzą do wypełniajacego formularz jaki i ustawionego w chronoforms "To (Required)". To znaczy wszędzie gdzie chcę. Teraz tylko pytanie do np. programistów php czy coś poprawiłem czy coś zepsułem?