Temat: XMail - problem z wysyłką i odbiorem maili

Cześć Wszystkim!

Nie robiąc przydługiego wstępu napiszę, że po skutecznym zainstalowaniu na moim TP-Linku TL-WDR4300 Gargoyle’a PL i na nim serwerów FTP i Samby przystąpiłem do instalacji XMaila.
Niestety w ostatnim przypadku nie mogę się pochwalić wielkim sukcesem, tzn. serwer działa, można się dostać do niego przez pop3 (lokalnie i z zewnątrz), miale lokalnie przechodzą bez zrzutu, ale:

  1. żadne maile nie wychodzą na zewnątrz

  2. z zewnątrz przychodzą tylko z niektórych domen, np. z poczta.onet.pl i interia.pl tak, a z gmail.com już nie.

Problem próbowałem rozwiązać przez dłuższy czas, ale niestety bezskutecznie.

Przy instalacji posługiwałem się głównie poniższymi tutorialami:
http://eko.one.pl/?p=openwrt-xmail
http://smartpost.sourceforge.net/virtua … _xmail.htm
instalowałem XMaila na Gargolye 1.5.8 oraz 1.5.8.1 PL (nie próbowałem jeszcze na czystym OpenWRT, ale nie sądzę, żeby to coś zmieniło).

Za każdym razem dla wysłanych maili w katalogu spool pojawia się plik wiadomości i odpowiadający mu plik logu:

[PeekTime] 1352751816 : Mon, 12 Nov 2012 21:23:36 +0100
<<
ErrCode   = -200
ErrString = Bad format for DNS name record
SMAIL SMTP-Send EDNS = "gmail.com" SMTP = "moja_domena.pl" From = "login1@moja_domena.pl" To = "login2@gmail.com" Failed !
SMTP-Error = "Bad format for DNS name record"
SMTP-Server = "gmail.com"

Szukałem trochę informacji o tym błędzie ("Bad format for DNS name record"), znalazłem m. in. to:
https://forum.openwrt.org/viewtopic.php?id=31128
- niestety nie działa link do patcha, choć raczej nie wiele by mi on pomógł. Z resztą opisane tam rozwiązanie dotyczy dość dawnej wersji i dziwne by było gdyby to nie zostało jeszcze poprawione, ale może się mylę?

Mam zatem pytanie czy ktoś z Was już może spotkał się z tym problemem lub może mi służyć jakoś pomocą, tak żeby maile przychodziły ze wszystkich źródeł i wychodziły na zewnątrz?

Dodatkowo chciałbym włączyć logowanie, najlepiej chwilowo na najwyższym poziomie verbose – katalog logs ciągle i nieustannie pozostaje pusty. Być może, przez to nie mam żadnych logów dotyczących wiadomości przychodzących, które do mnie nie docierają, np. z Gmaila.

Z góry dziękuję za wszelką pomoc!
Pozdrawiam,
trandus

2

Odp: XMail - problem z wysyłką i odbiorem maili

Łatki od 4 lat nie zostały ruszone, więc nie, nie dodano ich.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: XMail - problem z wysyłką i odbiorem maili

Cezary napisał/a:

Łatki od 4 lat nie zostały ruszone, więc nie, nie dodano ich.

Mam wrażanie, że niestety dotarłem do ściany, którą ciężko mi będzie pokonać.
Rozumiem, że rozwiązaniem problemu jest zaimplementowanie taj łatki w kodzie XMaila, skompilowanie go i uruchomienie na moim sprzęcie?
Sprawa niestety jest dość beznadziejna, nie jestem niestety biegłym użytkownikiem Linuxa i obawiam się, ze nie podołam patchowaniu i kompilowaniu modułów.

Czy mogę zatem liczyć w tej sprawie na pomoc? Będę bardzo zobowiązany. :)

Pozdrawiam,
trandus

4

Odp: XMail - problem z wysyłką i odbiorem maili

Cześć,

Udało mi się w końcu rozwiązać problem, a właściwie oba, tzn. błąd przy wysyłce maili i nie odbierania maili z niektórych domen, np. gmail.com.

Zacznijmy od wysyłki:
Poniżej przedstawiam krótkiego tutoriala jak to zrobić.
Jak już pisałem, nie jestem biegły w Linuksie, więc pewnie będę pisał o "oczywistych oczywistościach", nie mniej, może moje doświadczenia komuś się przydadzą i ułatwią rozwiązanie problemu z wysyłką maili. Rozwiązanie dotyczy sprzętu TP-LINK TL-WDR4300 i OpenWrt Barrier Breaker (trunk), choć problem występuje szerzej.

Niezbędne się okazało skompilowanie xmaila z patchem xmail-fix_endianness_detection.patch (https://dev.openwrt.org/ticket/9913). Jest to patch do patcha 030-sysmachine.patch

Niestety nie udało mi się go dołączyć do kompilacji (cokolwiek bym nie robił, otrzymywałem jakiś błąd – choć na pewno, jak wszystko w linuksie, jest to banalne, jak już się przebrnie przez n tutoriali, dokumentacji i for, no, ale mnie się nie udało). Ostatecznie zmodyfikowałem oryginalny patch 030-sysmachine.patch (który się znajduje w podkatalogu: ./feeds/packages/mail/xmail/patches/ głównego katalogu ze ściągniętymi źródłami OpenWRT) ręcznie nanosząc poprawki z xmail-fix_endianness_detection.patch, w efekcie powstaje nowy plik 030-sysmachine.patch:

diff -urN xmail-1.25.orig/SysMachine.h xmail-1.25/SysMachine.h
--- xmail-1.25.orig/SysMachine.h        1970-01-01 01:00:00.000000000 +0100
+++ xmail-1.25/SysMachine.h     2008-07-28 10:16:47.000000000 +0200
@@ -0,0 +1,30 @@
+#ifndef _MACHDEFS_H
+#define _MACHDEFS_H
+
+
+#include <endian.h>
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#undef MACH_BIG_ENDIAN_WORDS
+
+#undef MACH_BIG_ENDIAN_BITFIELD
+#elif __BYTE_ORDER == __BIG_ENDIAN
+#define MACH_BIG_ENDIAN_WORDS
+#define MACH_BIG_ENDIAN_BITFIELD
+#endif
+
+typedef signed char MachInt8;
+typedef unsigned char MachUInt8;
+#define MACH_TYPE_8BIT char
+
+typedef signed short MachInt16;
+typedef unsigned short MachUInt16;
+#define MACH_TYPE_16BIT short
+
+typedef signed int MachInt32;
+typedef unsigned int MachUInt32;
+#define MACH_TYPE_32BIT int
+
+

Teraz należy już skompilować paczkę Xmail, najlepiej pojedynczo, żeby nie trawiło to zbyt długo (ja to robiłem na Ubuntu 12.10 postawionym na wirtualnej maszynie, co nie jest zbyt wydajne).

Podczas kompilacji korzystałem z helpa:
http://wiki.openwrt.org/doc/howto/build, choć jest też na eko.
Po skompilowaniu pojawi się katalog ze skompilowanym Xmailem, z którego ja na router przeniosłem jedynie nowe pliki binarne (u mnie znajdujące się w ./build_dir/target-mips_r2_uClibc-0.9.33.2/xmail-1.26/bin) do wcześniej zainstalowanego już Xmaila. Po zastąpieniu plików z oryginalnej paczki wszystko działa beza problemu.


Cezary napisał/a:

Łatki od 4 lat nie zostały ruszone, więc nie, nie dodano ich.

Zastanawia mnie, że patch "xmail-fix_endianness_detection.patch" nie został dodany do źródeł, być może są tego jakieś powody, których nie znam, ale wygląda to dziwnie…


Problem nr 2 – nie przyjmowanie maili z niektórych domen, np. gmail.com.
Tutaj sprawa jest znacznie prostsza, mianowicie chodzi o to, że gmail (i inni) pozwalają przesyłać miale między serwerami tylko po TLS/SSL, a ja nie miałem skonfigurowanej tej możliwości po swojej stronie.
Aby prześledzić co się dzieje podczas działania Xmaila należy go uruchomić w trybie debug, najpierw zastopować daemona:

/etc/init.d/xmail stop

i następnie uruchomić go w terminalu przykładowo poleceniem:

/usr/bin/XMail -Ms <ścieżka do katalogu MailRoot> -Md -Pl -PX 2 -B- -S1 -SX 2 -X- -Qn 4 -Ql -Qg -Y- -F- -C- -W- -Ln 2 Ll

(przełączniki są opisane w dokumentacji Xmaila http://www.xmailserver.org/Readme.html).
Teraz Xmail będzie wypisywał to co się z nim dzieje, można łatwo zaobserwować, że niektóre serwery po nieudanym połączeniu z zewnątrz po TLS/SSL nawiązują połączenie nieszyfrowane, wtedy mail dociera, a niektóre, np. gmail.com, tego nie robią i wtedy mail już nie dociera. Skonfigurowanie TLS/SSL rozkazuje problem, przy czym jest ono proste i ogranicza się do wykonania zaleceń z dokumentacji Xmaila (http://www.xmailserver.org/Readme.html# … figuration). Ja polecenia nieco zmodyfikowałem, stworzyłem krótszy klucz (1024), ale za to cert na 10 lat:

openssl genrsa -out server.key 1024
openssl req -new -x509 -key server.key -out server.pem -days 3600

Pozdrawiam,
trandus

5 (edytowany przez Feasuro 2013-11-23 22:24:43)

Odp: XMail - problem z wysyłką i odbiorem maili

Na dzień dzisiejszy nie trzeba już samodzielnie kompilować. W wersji 1.26-4 dostępnej aktualnie w trunk-u "endianness detection" już poprawiono. Link do poprawionej paczki: http://downloads.openwrt.org/snapshots/ … ar71xx.ipk

Ja mam podobny problem. Postawiłem ostatnio xmail-a i nie mogę nigdzie wysłać majla (Do mnie dochodzą). Dostaję cały czas bounce:

[<00>] XMail bounce: Rcpt=[gonzo666@autograf.pl];Error=[417 Temporary delivery error]
 
 
[<01>] Error sending message [1385238227219.1993516336.9.rogacz] from [tabun.tk].
 
ID:        <S2B>
Mail From: <gonzo@tabun.tk>
Rcpt To:   <gonzo666@autograf.pl>
Server:    <mx.poczta.onet.pl> [213.180.147.146]
 
 
[<02>] The reason of the delivery failure was:
 
417 Temporary delivery error
 
 
[<03>] Note:
 
** This is a temporary error and you do not have to resend the message
** The system tried to send the message at      : Sat, 23 Nov 2013 21:30:11 +0100
** The current number of delivery attempts is   : 1
** The system will try to resend the message at : Sat, 23 Nov 2013 21:38:11 +0100
 
 
 
[<04>] Here is listed the message log file:
 
[PeekTime] 1385238611 : Sat, 23 Nov 2013 21:30:11 +0100
<<
ErrCode   = -152
ErrString = End of socket stream data
SMAIL SMTP-Send MX = "mx.poczta.onet.pl." SMTP = "poczta.tabun.tk" From = "gonzo@tabun.tk" To = "gonzo666@autograf.pl" Failed !
SMTP-Error = "417 Temporary delivery error"
SMTP-Server = "mx.poczta.onet.pl."
>>  
 
 
[<05>] Here is listed the initial part of the message:
 
X-AuthUser: gonzo@tabun.tk
Received: from czoda.tabun.tk ([192.168.1.2]:51638)
    by poczta.tabun.tk with [XMail 1.26 ESMTP Server]
    id <S2B> for <gonzo666@autograf.pl> from <gonzo@tabun.tk>;
    Sat, 23 Nov 2013 21:23:45 +0100
Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes
Date: Sat, 23 Nov 2013 21:23:42 +0100
To: michal.milowski@gmail.com, "gonzoo@v-lo.krakow.pl"
 <gonzoo@v-lo.krakow.pl>, "gonzo666@autograf.pl" <gonzo666@autograf.pl>
Subject: proba
MIME-Version: 1.0
Content-Transfer-Encoding: Quoted-Printable
From: Gonzo <gonzo@tabun.tk>
Organization: Czoda
Message-ID: <op.w60qxse7s55jtw@czoda.tabun.tk>
User-Agent: Opera Mail/12.16 (Linux)
 
proba
 
-- =

Wie może ktoś co oznacza Error Code -152?
Jeszcze dodam, że serwer SMTP mam na porcie 587, i na pewno mam dobrze ustawiony firewall.
Za pomocą telnet mogę się połączyć z innym serwerem:

# telnet smtp.gmail.com 587
220 mx.google.com ESMTP h48sm31283577eev.3 - gsmtp
quit
221 2.0.0 closing connection h48sm31283577eev.3 - gsmtp
Connection closed by foreign host

A oto moja konfiguracja:

# cat server.tab
#
# Example configuration file.
# Note : remember to use _REAL_ TABs and " to format this file
#
"RootDomain"    "tabun.tk"
"SmtpServerDomain"      "poczta.tabun.tk"
"POP3Domain"    "poczta.tabun.tk"
"HeloDomain"    "poczta.tabun.tk"
"PostMaster"    "gonzo@tabun.tk"
"ErrorsAdmin"   "gonzo@tabun.tk"
#"TempErrorsAdmin"      "gonzo@tabun.tk"
#"Pop3SyncErrorAccount" "psync-errors@xmailserver.test"

"RemoveSpoolErrors"     "0"    
"Pop3LogPasswd" "1"             
"NoSenderBounce"        "1"    
"NotifyMsgLinesExtra"   "4"     
"NotifySendLogToSender" "1"     
"NotifyTryPattern"      "1,10"  
#"DisableEmitAuthUser"  "1"
"MaxMTAOps"     "16"
"ReceivedHdrType"       "0"
"FetchHdrTags"  "+X-Deliver-To,+Received,To,Cc"
#"SmtpMsgIPBanSpammers" "550 Denied due inclusion of your IP in our spam lists"
#"SmtpMsgIPBanSpamAddress"      "550 Denied due inclusion of your email address in our spam lists"
#"SmtpMsgIPBanMaps"     "550 Denied due inclusion of your IP in the following map"
#"SmtpMsgIPBan" "550 Denied. Your IP doesn't have permissions to access our smtp server"
#"SMTP-IpMapDropCode"   "1"     
#"CustomSMTPMessage"    "Please open http://www.xmailserver.test/smtp_errors.html to get more information about this error"

#"DefaultSMTPGateways"  "10.1.0.235" 
"SmtpGwConfig"  "NeedTLS=1"     
#"SmtpNoTLSAuths"       ""      
#"EnableCTRL-TLS"       "1"
"EnableSMTP-TLS"        "1"
"EnablePOP3-TLS"        "1"
"EnableAuthSMTP-POP3"   "0"
"AllowNullSender"       "0"     
"AllowSmtpVRFY" "0"             
"AllowSmtpETRN" "1"             
"SMTP-MaxErrors"        "0"   
#"SMTP-RDNSCheck"       "-2"   
#"CheckMailerDomain"    "1"     
#"SmtpConfig"   "mail-auth,WantTLS"    
#"SmtpConfig-192.168.0.1"       "mail-auth"
"DefaultSmtpPerms"      "MR"

#"SSLWantCert"  "1"             
#"SSLWantVerify"        "1"     
#"SSLAllowSelfSigned"   "0"     
#"SSLMaxCertsDepth"     ""      
#"SSLUseCertsFile"      ""      
#"SSLUseCertsDir"       ""      

#"MaxMessageSize"       "20000"
#"SmtpMinDiskSpace"     "100000"
#"SmtpMinVirtMemSpace"  "64000"
#"Pop3MinVirtMemSpace"  "64000"
#"CustMapsList" "list.dsbl.org.:1,blackholes.mail-abuse.org.:1,dialups.mail-abuse.org.:0"
#"SmartDNSHost" "dns.home.bogus.net:tcp,192.168.1.1:udp"