Jump to content
Froxlor Forum
  • 0

Ich erhalte keine E-Mails


Timmaeh

Question

Hey,
 
ich habe heute meinen vServer neu aufgesetzt und dabei speziell auf die Installation von Froxlor hingearbeitet. Nachdem ich alle anderen Probleme via Google beheben konnte, sto?e ich nun auf mein gr??tes Problem: Ich erhalte schlichtweg keine E-Mails.
 
Ich habe die in Froxlor angegebenen Konfigurationen f?r 

  • Debian 7.0 (Wheezy) ? Mailserver (SMTP) ? Postfix/Dovecot
  • Debian 7.0 (Wheezy) ? Mailserver (SMTP) ? Postfix MX-Access (anti spam)
  • Debian 7.0 (Wheezy) ? Mailserver (IMAP/POP3) ? Dovecot

durchgef?hrt und nachtr?glich mehrmals gepr?ft.
 

Wenn ich nun eine E-Mail von meinem GMail Account an eine in Froxlor angelegte E-Mail Adresse schicke (welche ich wiederum ?ber GMail abrufe), kann ich dem /var/log/mail.log entnehmen, dass eine Verbindung zur froxlor Datenbank aufgebaut wird und die Mail anschlie?end nach 'INBOX' gespeichert wurde. Leider warte ich bei GMail anschlie?end vergebens darauf, dass die E-Mail ankommt. Auch auf Dateiebene unter /var/customers/mail/Kunde/Domain/mail/Maildir/* kann ich nichts von der E-Mail finden. Wenn ich das Prinzip der Ablage richtig verstanden habe, m?sste da ja irgendwo eine Datei mit Namen 'CAJF6H3nemCOW+L9xCU+2nB4iR55WV_QpHjBpf63e=bYG01PuFQ@mail.gmail.com' sein. Wenn ich danach suche, oder nur nach gmail, finde ich nichts. Ich habe auch die froxlor Datenbank durchsucht und keine Tabelle gefunden, in der E-Mails gespeichert sein k?nnten.

 

Zur Info: Die Mails von Froxlor ?ber angelegte Accounts etc. kommen bei GMail an, also muss es meiner Meinung nach etwas mit der Ablage der Mails beim Empfang zu tun haben.

 

Bin also auf Eure Hilfe angewiesen. Kann jemand helfen? Hat jemand einen Verdacht? Gern poste ich weitere Logfiles, jedoch bin ich bis jetzt nicht f?ndig geworden.

 

Danke!

 

Timmaeh
 

Link to post
Share on other sites

7 answers to this question

Recommended Posts

Ich habe es jetzt zus?tzlich mit Thunderbird versucht, was leider auch nicht funktioniert hat. Leider bin ich auf POP3 angewiesen, da GMail IMAP abgeschafft hat.

 

Ich habe die Mailkonten + Domain gel?scht und neu angelegt, schon funktioniert es. Erkl?ren kann ich mir das zwar nicht, aber es funktioniert, und das ist die Hauptsache =)

 

Danke f?r die Hilfe ^^

Link to post
Share on other sites

Nein, hatte ich nicht. Ich habe das zur Sicherheit durchgef?hrt, wobei libnss selbst bereits installiert war und die config-Files weitestgehend von den anderen Konfigurationen gesetzt wurden.

 

Ich muss aber meine Aussage von vorhin korrigieren. Die Mails werden im Ordner /var/customers/mail/Kunde/Domain/mail/Maildir/cur/ abgelegt (Datei 1418159304.M275719P3227.server1,S=1552,W=1581:2,S als Beispiel). Die Dateien habe ich scheinbar schlichtweg ?bersehen. Also liegt es doch am Abholen der Mails per POP3. Trotzdem fehlt mir immernoch ein L?sungsansatz. Ich werde Google mal durchforsten, aber falls jemand ne Idee hat, immer her damit =)

Link to post
Share on other sites

So, ich haben mal etwas genauer untersucht, was passiert, wenn ich mich per POP3 anmelde und die Mails hole.
 
Da die Verbindung zur Datenbank erfolgreich hergestellt wird, habe ich mir in der /etc/dovecot/dovecot-sql.conf.ext angeschaut, wie der Pfad des Postfachs zusammengesetzt wird und die MySQL Query getestet, ob auch wirklich der richtige Pfad herauskommt.
 
Diese Query steht in der /etc/dovecot/dovecot-sql.conf.ext

user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('*:storage=', (quota*1024)) as quota_rule FROM mail_users WHERE (username = '%u' OR email = '%u')

 
Und dieser Datensatz kommt dabei heraus:

home:       /var/customers/mail/KUNDE/DOMAIN/mail/Maildir/
mail:       maildir:/var/customers/mail/KUNDE/DOMAIN/mail/Maildir/
uid:        2000 
gid:        2000
quota_rule: *:storage=0

KUNDE und DOMAIN have ich lediglich zensiert, stimmen mit dem Pfad 100%ig ?berein.

 

So langsam gehen mir die Ideen aus, was ich noch testen k?nnte...

Link to post
Share on other sites

Also, Mails von au?erhalb kommen bei GMail immernoch nicht an. Systemmails von Froxlor dagegen schon. Was ich revidiert habe, war lediglich die Aussage, dass die Mails von au?erhalb nicht auf Dateiebene abgelegt werden.

 

Also: Die Mails werden im Ordner abgelegt, der in der Froxlor-DB als Maildir angegeben ist. Als Beispiel habe ich oben eine Maildatei verlinkt (Datei 1418159304.M275719P3227.server1,S=1552,W=1581:2,S). Die Systemmails von Froxlor dagegen finde ich nirgends auf Dateiebene. Trotzdem bekomme ich nur die Mails von Froxlor per POP3. Ich habe daraufhin die MySQL Query ?berpr?ft, ob der Dateipfad zum Postfach auf Dateiebene richtig erstellt wird, was man oben erkennen kann. Der Dateipfad stimmt, die Verbindung zur Froxlor-DB funktioniert ja laut mail.log auch. Also muss das Problem daran liegen, dass Dovecot die Mails auf Dateiebene nicht erkennt bzw. die Mails von woanders holt (anders kann ich mir das mit den Froxlor Mails nicht erkl?ren).

 

Ich habe in GMail auch die Option "Eine Kopie der E-Mails auf dem Server belassen." aktiviert, von daher m?sste ich ja die bereits geholten Froxlor Mails trotzdem sehen.

Link to post
Share on other sites

Also du hast ein E-Mail KONTO angelegt und rufst dieses ?ber Gmail ab? Quasi Gmail als mail client, korrekt? Und da kommt schlichtweg nichts an? Also wenn die mail in der mailbox abgelegt wird, machst du beim abrufen was falsch, denn die mail ist da. Wenn du via POP3 abrufst ist dir hoffentlich klar, das der client die mail auf dem Server l?scht. Rufst du die mail auch mit anderen Clients ab? Wenn ja, nutze doch einfach mal IMAP

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Similar Content

    • By hoschi
      Ich hab noch gaaanz alte Systeme (+10 Jahre) am Start und wollte nicht auf dovecot umstellen.
      Falls jemand danach suchen sollte, die "alte" Kombination von Programmen ist weiter nutzbar, wenn angepasst (Debian 9+). Hintergrund: froxlor speichert in seiner DB die Passwörter nach konfiguration als password und password_enc ab, letzteres ist verschlüsselt. Der hash lässt erkennen, womit gearbeitet wurde - ein einfacher String ist ein Uralt-crypt-Passwort, aktuell sollte sowas wie $5$ am Anfang stehen, was auf SHA-256 verweisst.
      Werden die Klartextpasswörter gelöscht, ist die alte Konfiguration nicht mehr verwendbar. Wäre aber mal sinnvoll, die rauszuwerfen. Folgendes ist anzupassen:
      /etc/courier/authmysqlrc:
      MYSQL_USER_TABLE mail_users MYSQL_CRYPT_PWFIELD password_enc #MYSQL_CRYPT_PWFIELD crypt Damit wird courier angewiesen, für pop und imap verschlüsslte PW auszulesen. Die SHA-256 lib ist bei Debian inclusive. crypt fliegt raus. Fertig ist der Mailabruf.
      Tricky ist die Anpassung von postfix. Die dort benutzte Bibliothek für sasl hat Einschränkungen und ist der letztlich der Grund für Probleme. Lässt sich beheben mit folgender /etc/postfix/sasl/smtpd.conf:
      pwcheck_method: authdaemond authdaemond_path: /run/courier/authdaemon/socket mech_list: plain login In der Datei stand vorher pwcheck_method: auxprop mit sql plugin drin. Das Problem ist: auxprop kann nur Klartext. Aber dafür erlaubt auxprop die Verwendung von cram-md5 und digest-md5 zum hashen auf Clientseite, früher war daher die mech_list um diese beiden ergänzt. Bedeutet: der Client verbindet sich unverschlüsselt und ohne TLS, aber hasht noch auf dem Clientsystem das Passwort mit md5 und übermittelt dann nur den hash über den unverschlüsselten Kanal. Bei TLS kann man sich das sparen - erst wird der Kanal abgesichert, dann kann das PW unverschlüsselt geschickt werden und wird auf Serverseite gehasht und dann verglichen - das erledigt der authdaemond. auxprop kann das nicht.
      Die Mechlist wird dem Client übermittelt. Ganz alte Accounts haben evtl. noch Clienthashes und kein SSL eingeschaltet, die müssen dann umstellen auf STARTTLS mit Klartext - gilt aber nur für den Mailversand. Klartext bedeutet wie gesagt nur, das der Thunderbird/Outlook/etc. das Passwort ungehasht schickt, der authdaemond hasht das und vergleicht dann diesen hash mit dem in der froxlor Datenbank - da steht aber nix mehr im Klartext drin.
      Passwort-Wechsel ist für die User über Roundcube wie gewohnt möglich. In der DB könnt ihr sehen wie der Hash sich ändert.
    • By mrairstone
      Guten Morgen,
      mir ist in Froxlor ein kleiner Fehler in Bezug auf CatchAll Email aufgefallen.
      Zum System:
      Debian 10, 64-Bit Froxlor 0.10.11 Postfix, Dovecot, Spamc Zum Problem:
      Beim Anlegen einer neuen E-Mailadresse kann man je Domain nur eine CatchAll-Adresse definieren. Wenn man jedoch eine bestehende E-Mailadresse bearbeitet, kann man dort ganz einfach auf CatchAll umschalten.
      Dadurch kann es passieren, dass mehrere Emailadressen unterhalb einer Domain als CatchAll definiert sind. Das ist mir erst aufgefallen, als ich E-Mails in meinem Postfach hatte, welche nicht für meine E-Mailadresse bestimmt waren.
      Da auf dem Account in Froxlor mehrer Nutzer zugreifen (Feuerwehr) und E-Mailadressen hinzufügen, ändern und auch löschen - habe ich erst sehr spät gesehen das mehrere CatchAll vorhanden waren.
      Wenn man eine Mail an eine E-Mailadresse sendet, welche als CatchAll definiert wurde, wird die Mail auch an alle anderen E-Mailadressen weitergeleitet, die unterhalb der Domain als CatchAll definiert sind.(Jedenfalls bei postfix)
      Temporäre Lösung:
      Damit eingehende Mails an eine vorhandene E-Mailadresse, welche als CatchAll definiert ist, auch nur im Postfach dieser E-Mailadresse landen, habe ich die SQL-Anweisung in der "mysql-virtual_alias_maps.cf" wie folgt abgeändert:
      query = SELECT destination FROM mail_virtual AS v, panel_customers AS c WHERE c.customerid = v.customerid AND c.deactivated = 0 AND (v.email = '%s' OR v.email_full = '%s') AND trim(v.destination) <> '' Ich habe das eben auch noch einmal in der Demoversion ausprobiert, Screenshot im Anhang.
       
      Gruß

    • By Pro-Webs
      Hallo,
      ich bin gerade dabei einen Shopware Shop v.5 unter nginx mit froxlor einzurichten.
      Das ist jedoch relativ problematisch.
      Aktuell habe ich im Froxlor folgende vHost Einstellung zur Domain:
      location @php { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_read_timeout 1500; } location ~ ^/(engine|files|templates|media/(archive|banner|image|music|pdf|unknown|video))/ { rewrite ^/files/documents/.* /engine last; location ~ \.(jpe?g|png|gif|css|js)$ { expires 1M; } } location / { index index.html index.php shopware.php; rewrite shopware.dll /shopware.php; rewrite files/documents/.* /engine last; #rewrite images/ayww/(.*) /images/banner/$1 last; rewrite backend/media/(.*) /media/$1 last; if (!-e $request_filename){ rewrite . /shopware.php last; } location ~ \.(jpe?g|png|gif|css|js)$ { rewrite backend/media/(.*) /media/$1 last; expires 1M; } } location ~ \.(tpl|yml|ini)$ { deny all; } location /install/ { location /install/assets { } if (!-e $request_filename){ rewrite . /install/index.php last; } } location /update/ { location /update/assets { } location /update/templates { } if (!-e $request_filename){ rewrite . /update/index.php last; } } location /recovery/install/ { location /recovery/install/assets { } if (!-e $request_filename){ rewrite . /recovery/install/index.php last; } } location /recovery/update/ { location /recovery/update/assets { } if (!-e $request_filename){ rewrite . /recovery/update/index.php last; } } location ~ ^/(logs|media/temp|bin|cache)/ { deny all; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS $fastcgi_https; fastcgi_param HTTP_AUTHORIZATION $http_authorization; } Diese Einstellung führt zu einem 500 error.
      Meine 35_froxlor_ssl_vhost_studio-ausruestung.de.conf sieht damit leider wie folgt aus:
      # 35_froxlor_ssl_vhost_studio-ausruestung.de.conf # Created 02.01.2020 14:30 # Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel. server { listen 91.250.82.51:443 ssl; server_name studio-ausruestung.de www.studio-ausruestung.de xn--studio-ausrstung-tzb.de *.xn--studio-ausrstung-tzb.de studioausruestung.de *.studioausruestung.de priolite-shop.com www.priolite-shop.com sirui-shop.de www.sirui-shop.de shooting-gutschein.de *.shooting-gutschein.de shooting-gutscheine.de *.shooting-gutscheine.de; ssl_protocols TLSv1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH; ssl_ecdh_curve secp384r1; ssl_prefer_server_ciphers on; ssl_certificate /etc/ssl/froxlor-custom/studio-ausruestung.de.crt; ssl_certificate_key /etc/ssl/froxlor-custom/studio-ausruestung.de.key; add_header Strict-Transport-Security "max-age=0"; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/ssl/froxlor-custom/studio-ausruestung.de.crt; include /etc/apache2/conf-enabled/acme.conf; access_log /var/customers/logs/klimek-studio-ausruestung.de-access.log combined; error_log /var/customers/logs/klimek-studio-ausruestung.de-error.log error; root /var/customers/webs/klimek/studio-ausruestung.de/shopware/; location / { index index.php index.html index.htm; try_files $uri $uri/ @rewrites; index index.html index.php shopware.php; rewrite shopware.dll /shopware.php; rewrite files/documents/.* /engine last; #rewrite images/ayww/(.*) /images/banner/$1 last; rewrite backend/media/(.*) /media/$1 last; if (!-e $request_filename){ rewrite . /shopware.php last; } location ~ \.(jpe?g|png|gif|css|js)$ { rewrite backend/media/(.*) /media/$1 last; expires 1M; } } location @rewrites { rewrite ^ /index.php last; } location /webalizer { alias /var/customers/webs/klimek/webalizer/studio-ausruestung.de/; auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/htpasswd/1-c3d3ffdab2b8342809d19524c21b98c1.htpasswd; } location ~ \.php { try_files /333c3697df6a41bcc37bccd05271f644.htm @php; } location @php { fastcgi_split_path_info ^(.+\.php)(/.+)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; try_files $fastcgi_script_name =404; fastcgi_index index.php; fastcgi_param HTTPS on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_read_timeout 1500; } location ~ ^/(engine|files|templates|media/(archive|banner|image|music|pdf|unknown|video))/ { rewrite ^/files/documents/.* /engine last; location ~ \.(jpe?g|png|gif|css|js)$ { expires 1M; } } location ~ \.(tpl|yml|ini)$ { deny all; } location /install/ { location /install/assets { } if (!-e $request_filename){ rewrite . /install/index.php last; } } location /update/ { location /update/assets { } location /update/templates { } if (!-e $request_filename){ rewrite . /update/index.php last; } } location /recovery/install/ { location /recovery/install/assets { } if (!-e $request_filename){ rewrite . /recovery/install/index.php last; } } location /recovery/update/ { location /recovery/update/assets { } if (!-e $request_filename){ rewrite . /recovery/update/index.php last; } } location ~ ^/(logs|media/temp|bin|cache)/ { deny all; } } Man bemerkt u.a. das einige Konfigurationen doppelt vorhanden sind, da floxlor diese auch selbst generiert. Das könnte natürlich schon die Ursache des Fehler sein. Ich weiß nur leider nicht, wie ich es "besser" lösen kann.
      Die original .htaccess für den appache sieht folgende Konfiguration vor:
      php_value memory_limit 1024M php_value max_execution_time 600 php_value upload_max_filesize 20M php_value post_max_size 20M <IfModule mod_rewrite.c> RewriteEngine on #RewriteBase /shopware/ # Https config for the backend #RewriteCond %{HTTPS} !=on #RewriteRule backend/(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule shopware.dll shopware.php RewriteRule files/documents/.* engine [NC,L] RewriteRule backend/media/(.*) media/$1 [NC,L] RewriteRule custom/.*(config|menu|services|plugin)\.xml$ ./shopware.php?controller=Error&action=pageNotFoundError [NC,L] RewriteCond %{REQUEST_URI} !(\/(engine|files|templates|themes|web)\/) RewriteCond %{REQUEST_URI} !(\/media\/(archive|banner|image|music|pdf|unknown|video)\/) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ shopware.php [PT,L,QSA] # Fix missing authorization-header on fast_cgi installations RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] </IfModule> <IfModule mod_alias.c> # Restrict access to VCS directories RedirectMatch 404 /\\.(svn|git|hg|bzr|cvs)(/|$) # Restrict access to root folder files RedirectMatch 404 /(autoload\.php|composer\.(json|lock|phar)|README\.md|UPGRADE-(.*)\.md|CONTRIBUTING\.md|eula.*\.txt|\.gitignore|.*\.dist|\.env.*)$ # Restrict access to shop configs files RedirectMatch 404 /(web\/cache\/(config_\d+\.json|all.less))$ # Restrict access to theme configurations RedirectMatch 404 /themes/(.*)(.*\.lock|package\.json|\.gitignore|Gruntfile\.js|all\.less|node_modules\/.*)$ </IfModule> # Staging environment #SetEnvIf Host "staging.test.shopware.in" SHOPWARE_ENV=staging # Development environment #SetEnvIf Host "dev.shopware.in" SHOPWARE_ENV=dev #SetEnv SHOPWARE_ENV dev DirectoryIndex index.html DirectoryIndex index.php DirectoryIndex shopware.php # Disables download of configuration <Files ~ "\.(tpl|yml|ini)$"> # Deny all requests from Apache 2.4+. <IfModule mod_authz_core.c> Require all denied </IfModule> # Deny all requests from Apache 2.0-2.2. <IfModule !mod_authz_core.c> Deny from all </IfModule> </Files> # Enable gzip compression <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/xml text/plain text/css text/javascript application/javascript application/json application/font-woff application/font-woff2 image/svg+xml </IfModule> <Files ~ "\.(jpe?g|png|gif|css|js|woff|woff2|ttf|svg|webp|eot|ico)$"> <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" </IfModule> <IfModule mod_headers.c> Header append Cache-Control "public" Header unset ETag </IfModule> FileETag None </Files> # Match generated files like: # 1429684458_t22_s1.css # 1429684458_t22_s1.js <FilesMatch "([0-9]{10})_(.+)\.(js|css)$"> <ifModule mod_headers.c> Header set Cache-Control "max-age=31536000, public" </ifModule> <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 year" </IfModule> </FilesMatch> # Disables auto directory index <IfModule mod_autoindex.c> Options -Indexes </IfModule> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> <IfModule mod_php5.c> # php_value memory_limit 256M # php_value max_execution_time 120 # php_value upload_max_filesize 20M php_flag phar.readonly off php_flag magic_quotes_gpc off php_flag session.auto_start off php_flag suhosin.session.cryptua off php_flag zend.ze1_compatibility_mode off php_value always_populate_raw_post_data -1 </IfModule> # AddType x-mapp-php5 .php # AddHandler x-mapp-php5 .php <IfModule mod_headers.c> Header append X-Frame-Options SAMEORIGIN </IfModule>  
      Für Ideen und Vorschläge wäre ich wie immer sehr dankbar
    • By thunfischbaum
      Hi everyone,
      just a little problem here. I have severa domains registered on my froxlor installation and a different hostname of course. So let's say domain1.de is my hostname. The second domain, which is used by a customer is called domain2.de . When I view the mail.log I am not able to find my connection request. I do only see the bruteforce bots with example@domain1.de connecting. But any example@domain2.de request is not getting forwareded. I did configure the installation accordingdly with the provided templates.
      Best regards,
      thunfischbaum
    • By thunfischbaum
      Hi everyone,
      I'm running a Debian 10 Buster Server with PHP7.3 installed. The PHP7.3 update is the new component in the system. since then, I can't find any Mailboxes. There are no folders in the var/customers/mail/[customer] directory.
      If you take look at the Screenshot, you see, that the E-Mail adress is existent in Froxlor. 

      Mail Bounce
      Mail Log
       
      If I missed a log, please let me know, so I can attach it
      Best regards,
      thunfischbaum

×
×
  • Create New...