Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Brak maili z forum via serwer SMTP

Błąd   Założony przez  Miesopisarz.

wersja skryptu MyBB: 1.8
adres forum: nokor.co.pl na hostingu mydevil.net
na czym polega problem (screen, opis, komunikaty):

Bawię się z tym już bodaj tydzień. Jednym zdaniem: forum nie dostarcza maili.
Zaznaczę, że z programowaniem w podstawowym stopniu mam do czynienia, o PHP wiem niemalże nic.

Mam wykupiony hosting (mydevil.net) oraz własną domenę. MyBB jest skonfigurowane na SMTP.
Maile, które przychodzą z forum, pochodzą z serwera mailingowego hostingu, a nie poczty oferowanej przez hosting. Mają następujący nagłówek (mój adres zmieniłem ze względu na spam-boty):

Cytat:Delivered-To: mójadres@example.com
Received: by 10.176.69.68 with SMTP id r62csp52907uar;
        Tue, 9 Aug 2016 11:44:48 -0700 (PDT)
X-Received: by 10.25.22.152 with SMTP id 24mr29766652lfw.180.1470768288623;
        Tue, 09 Aug 2016 11:44:48 -0700 (PDT)
Return-Path: <>
Received: from s5.mydevil.net (cache5.mydevil.net. [31.186.82.252])
        by mx.google.com with ESMTPS id d76si14931809lfe.231.2016.08.09.11.44.48
        for <mójadres@example.com>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 09 Aug 2016 11:44:48 -0700 (PDT)
Received-SPF: pass (google.com: best guess record for domain of postmaster@s5.mydevil.net designates 31.186.82.252 as permitted sender) client-ip=31.186.82.252;
Authentication-Results: mx.google.com;
       spf=pass (google.com: best guess record for domain of postmaster@s5.mydevil.net designates 31.186.82.252 as permitted sender) smtp.helo=s5.mydevil.net
Received: from cache5.mydevil.net
    ([31.186.82.252] helo=s5.mydevil.net ident=(TuJestMójIdent))
    by s5.mydevil.net with esmtpa (Exim 4.86_2 (FreeBSD))
    id 1bXC18-00033V-A8
    for mójadres@example.com; Tue, 09 Aug 2016 20:44:48 +0200
Date: Tue, 09 Aug 2016 18:44:46 +0000
To: mójadres@example.com
Subject: =?UTF-8?B?Tm93YSBvZHBvd2llZMW6IG5hIGZvcnVtIFRlc3Qgc3lzdGVtdSBtYWlsaW5nb3c=?=
  =?UTF-8?B?ZWdv?=
From:
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-Mailer: MyBB
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Message-Id: <E1bXC18-00033V-A8@s5.mydevil.net>
Sender: no-reply@nokor.co.pl
X-AV-Check: Passed
X-ACL-Warn: You are not allowed to send e-mails from this domain.
X-System-Sender: no-reply@nokor.co.pl
X-Spam-Score: -1.0

Fleshwriter,

Cień odpowiedział w wątku, który subskrybujesz (Nokor). Temat wątku: "Test systemu mailingowego".

...

Link: https://wiki.mydevil.net/Poczta
Konfiguracja po stronie DNS jest dokonana, kontaktowałem się również z hostingiem:
Cytat:     Witam,

    Mam problem z połączeniem systemu mailingowego forum z systemem poczty MD.
    Przeczytałem dokumentację wiki znajdującą się na Państwa stronie i postępowałem zgodnie z jej zaleceniami. Mimo wszystko, maile, które przychodzą mają nadawcę backup0.admin.net.pl, zamiast no-reply@nokor.co.pl.
    Uprzejmie proszę o wsparcie i wytknięcie mi moich błędów.
    Przesyłam link do screenów przedstawiających konfiguracje (na końcu maila napiszę czemu link, a nie inaczej):
    Konfiguracja DNS (odczekałem 24h od dodania nowych wpisów DNS): DNS.png
    Konfiguracja ustawień forum: konf-forum.png
    Konfiguracja użytkowników po stronie MD: konf-MD.png
    Przykładowy mail: mail.png


    Z wyrazami szacunku,

    


Witam,

wysyłka maili obecnie odbywa się poprzez inny serwer i nie wpływa to na konfigurację po stronie klientów ani też na widoczność adresu nadawcy (zmianę widać jedynie w nagłówkach). Proszę załączyć pełne nagłówki takiej wiadomości.

    


Witam,

Co do głównego tematu, oto nagłówek najnowszej wiadomości (tym razem faktycznie z s5.mydevil.net):

(nagłówek wyciąłem i umieściłem powyżej w tym poście, nie ma sensu go powtarzać)

Z góry dziękuję za pomoc,
    


    Witam,

wygląda mi to na błąd w działaniu skryptu na forum, czy to najnowsza wersja CMS tego forum?
Czy to może jakiś dodatek zewnętrzny do wysyłania mailingu tego forum?
Ustawienia wyglądają na prawidłowe a mimo to, jako nadawce nie podaje adresu e-mail tylko adres serwera. Chyba, że nie widzę jeszcze jednego pola w którym można podać mail nadawcy? (w sumie obok takiego pola może być też miejsce na nazwe wyświetlaną do wpisania).

Screeny, o których mowa w mailingu umieszczam na dysku google poniżej:

https://drive.google.com/folderview?id=0...sp=sharing


Co jeszcze mogę dodać...
Aha, czytałem poradnik z MyBB i spróbowałem zrobić podstawowy test, ale nic mi to nie dało. Zapewne coś źle wykonałem, ale jak na początku zaznaczyłem, o PHP wiem całe nic.
Znalazłem jeszcze taki wątek ( https://community.mybb.com/thread-57177.html ) i spróbowałem rozwiązania, które bojris zasugerował. W logach systemu email w ACP otrzymałem odpowiedź: "The mail server is not ready, it did not respond with a 220 status message."

Zapoznałem się też z tematem ( https://webboard.pl/thread-3346.html ), który dotyczy wersji 1.4. Przeszukałem pliki, o których tam autor wspomina, ale niestety nie znalazłem dokładnie tych linijek. Najbliższe, które były (i nie wiem czy zamiana ich cokolwiek da) to:
if($mybb->user['uid'])
    {
        $mybb->input['fromemail'] = $mybb->user['email'];
        $mybb->input['fromname'] = $mybb->user['username'];
    }

To chyba tyle. Będę wdzięczny za pomoc w rozwiązaniu problemu.

Z góry dzięki i pozdrawiam,
- M.
Odświeżam.
Odświeżam.
1. Włącz dodawanie identyfikatora wiadomości do nagłówków - nie dotyczy to problemu, ale i tak powinieneś mieć tu włączone.

2. Sprawdź ustawienia adresów mailowych w ACP -> Ustawienia -> Ustawienia strony, to tam się ustawia adresy, jakimi są oznaczane maile.

3. Jeżeli forum jest umieszczone na Twoim koncie hostingowym w MyDevil, to nie musisz używać SMTP, można zostawić mail() - serwery mogą śmiało wysyłać pocztę bezpośrednio, bez udziału faktycznych skrzynek.
Dziękuję za odpowiedź. Przeprowadzam kolejne testy. Chcę jednak się tylko upewnić co do kwestii funkcji mail() w PHP.

Jak w takim razie podać dane do logowania w funkcji na konto no-reply? Bo rozumiem mój błąd, że faktycznie pole (o którym mówisz w pkt. 2) było puste. Jednak tak czy siak funkcja chyba nie może pozostać pusta?
Przy funkcji mail() wykorzystywane są te adresy, które podaje się w ACP - nie trzeba loginu ani hasła, konto takowe nawet nie musi istnieć.
Dzięki.

OK. Po testach widzę, że maile już przychodzą, ale dopiero z od "kilkunasto" do "kilkudziesięcio" minutowym opóźnieniem. W międzyczasie też skonsultowałem to z providerem i nie ma żadnych wskazań po ich stronie, co mogłoby wywołać te opóźnienia.
Chcę więc wypróbować funkcję mail(), ale wciąż nie do końca rozumiem, gdzie np. miałbym podać hasło do logowania się na pocztę no-reply.

Przeglądam manual php i opis tej funkcji, ale jednak nie do końca rozumie wyżej opisanej zależności.
Logując się na pocztę no-reply, na hostingu posługuję się hasłem zupełnie różnym od hasła administratora, itp.
Może proszę rozwinąć tę kwestię?
Spróbuj się zalogować do skrzynki przez roundcube i wysłać ręcznie jakiś mail na adres, na który tyle czasu dochodzi - może to być kwestia zabezpieczeń antyspamowych, niektóre wymagają więcej czasu, niż sekundy :)

Nie rozumiem, co jest niejasnego w przypadku mail(). Ta funkcja do działania wykorzystuje systemową aplikację sendmail i to w jej gestii leży, jak to jest realizowane. Jeżeli serwer korzystałby np. z ssmtp i przesyłał pocztę przez konto zewnętrzne (dajmy na to Googlowskie), to wywołanie funkcji mail() spowoduje, że właśnie tak pójdzie poczta. Jeżeli na serwerze jest np. postfix, exim lub inny serwer, to skorzysta z niego itd. W jej przypadku nie podaje się żadnych danych logowania i żadne konto nie jest potrzebne, wykorzystuje systemowe wysyłanie poczty. Na hostingu współdzielonym, takim jak wspomniany tu MyDevil, to już jest poza Twoim kręgiem zainteresowań - i tak nie masz dostepu do konfiguracji serwerów.

Słowem, możesz przełączyć się na mail(), a skrzynkę no-reply utworzoną w panelu skasować, bo nie będzie w ogóle wykorzystywana... no chyba, że chcesz na nią coś odebrać np. odpowiedzi z autoresponderów itp. Wysyłanie poczty elektronicznej nie wymaga natomiast istnienia realnej skrzynki nadawcy.
Dobrze, wszystko stało się jasne. Ogromne dzięki.

Co do opóźnienia - sprawdzałem to na różne sposoby i wciąż występuje. Nawet teraz, jeśli zrezygnowałem z SMTP. Zauważyłem jedną poszlakę i nie wiem czy to może być sprawa części myBB czy mojego hostingu:
Maile przychodzą co jakiś, określony czas, np. 10 minut. Wszystkie maile, które miały być wysłane, są wysyłane jednocześnie - jakby jakiś cron regularnie sprawdzał kolejki (np. IBM MQ) do maili i wysyłał oczekujące, aniżeli jakby mail trigerował event wysłania stricte. Nie wiem tylko czy myBB ma jakiegoś konfigurowalnego crona, czy nie.

Oczywiście, myBB nie ma żadnego MQ, ale czy jest coś a'la cron zaimplementowanego w myBB, czy to już jest po stronie hostingu?

Bardzo dziękuję za pomoc i wyczerpujące odpowiedzi. Dużo pomogły.



Użytkownicy przeglądający ten wątek:

2 gości