How to fix the problem with Hostgator (Webhosting, Baby Plan) that mails do not arrive at a domain for which only mail forwarders are set up?

May 12th, 2010 by matthias

The setup was this: a domain example.com, registered at Domaindiscount24 (dd24.net) as the DNS hoster, and set up there so that there was an “IN A” record pointing to the Hostgator server’s IP address, and a “IN MX” record containing “10 example.com” (with 10 being the priority). On the Hostgator server, the example.com domain was registered for webspace (and this worked), and a mail forwarder to another domain (also hosted on Hostgator) was set up, but no e-mail accounts for example.com.

The exact same style of setup worked for e-mail for another domain, also at DD24 and Hostgator, for which webspace and a mail account was set up.

However, in this case, the mail forwarder for the example.com address did not work: mails did not get forwarded, except if they were sent from another domain that was hosted on the same Hostgator server. The mails also did not appear in the customer-wide spam folder, and no error message was sent back to the sender (which effectually means that the mail was lost). It seems also that sometimes, the forwarding is successful, for whatever reason.

The error might be: before forwarding, according to the DD24 entry, the mailserver of example.com has to be contacted. But there might be a bug on Hostgator’s server configuration that only creates such a server when a mail account (not a mail forwarder) for this domain is created. The strange thing is however, that the mail senders do not receive errors back when sending to example.com addresses. Which might be because the Hostgator server accepts such mails in a kind of catchall address, but cannot distribute them to the different customers hosted on that server as it does not know what domain belongs to what customer.

The workaround for this error (tested successfully) is to set up e-mail forwarding (at best, with a wildcard) directly at the DNS hoster (here, DD24). This change takes effect on DD24 in a few minutes, but because of the DNS cache times it propagates for use in normal mail software only in 4-7 days. You can see that by the difference in the output of the following commands:

dig example.com MX
dig @ns1.domaindiscount24.net example.com MX

If both contain something lilke “example.com. 28800 IN MX 10 mailfw3.dd24.net.” (and a second line like it), the change is complete. This happened in the current case some 4-6 hours after doing the change in the DD24 admin area.
This however leaves one problem untreated: when sending a message to example.com from a domain that is also hosted on the exact same Hostgator server as example.com, the SMTP agent on that server that has to send this message seems to think that it is also the MX server for example.com, does not find the specified target mailbox, and subsequently returns an error message to the sender: “Mail delivery failed: returning message to sender. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: mail@example.com No Such User Here.” This is again a DNS routing bug on the Hostgator servers, because a MX record must be used if it is present, as it is here, according to RFC 5321 sec. 5 (en.wikipedia.org/wiki/MX_record#History_of_fallback_to_A). The workaround is to go to the Hostgator e-mail administration tool and re-enable a mail forwarder *@example.com to a target mail address, which will take effect only for mails dispatched by the SMTP agent on that server.

This last step of adding an e-mail domain forwarder (from *@example.com to a target address) has the added advantage that using an example.com mail address as the From address becomes now possible, whereas else, the SMTP client on the Hostgator server would reject sending such mails.

Posted in hostgator.com | No Comments »

How to put a profile photo on facebook?

September 4th, 2009 by matthias

Profile photos are automatically scaled to 604×452px (when viewed at largest), and in the previews to a square format of 50×50px. The format on the main profile page is not a square, it can also be portrait format. But the width is always 200px.

So to prevent facebook to destroy the picture when making a square format from it, it’s best to make it square in original. That is, 452×452px is the recommended original size for profile images. They get then automatically scaled to 200×200px and 50×50px.

You can add a PNG image as profile image, but transparency in it is converted to black. So this is no option to integrate your image better with the facebook design.

To integrate your profile image with the facebook design, use the facebook colors: white (RGB 255,255,255), mid blue border color (RGB 214,221,231) and light flue area color (RGB 239, 239, 247).

Posted in facebook | No Comments »

bundeswehr-taschenmesser.de

January 9th, 2009 by daniel

Auf bundeswehr-taschenmesser.de entsteht eine Website auf der wir planen in Zukunft Bundeswehr-Taschenmesser anzubieten. Einfach ab und zu mal vorbeischauen ;-)

Posted in bundeswehr-taschenmesser.de | No Comments »

marktfuehrerindex.com

November 14th, 2008 by daniel

marktfuehrerindex.com ist ein von uns erstelltes Firmenverzeichnis in das ausschließlich Marktführer aufgenommen werden. Das erlaubt es Benutzern z.B. schnell und einfach Produkte guter Firmen zu finden.

Posted in Marktführerindex | No Comments »

Aktueller Tarifvergleich: flexibler Tarif für DSL 4000-6000

June 3rd, 2008 by matthias

Gesucht ist ein DSL-Tarif der flexibel genug ist um schnell auf günstigere Tarife, Änderungen der Wohnsituation (Umzug, Einzzug in eine WG in der bereits DSL besteht usw.) und Änderungen im Telefonieverhalten reagieren zu können.

Anforderungen im Einzelnen, nach Priorität:

  1. keine Mindestvertragslaufzeit (oder max. 12 Monate) und keine Verlängerung der Mindestvertragslaufzeit
  2. höchstens monatliche monatliche Kündigungsfrist nach Ablauf der Mindestvertragslaufzeit
  3. Geschwindigkeit Downstream 4-6 MBit/s (Leitungskapazität ist 7 MBit/s brutto), Upstream mind. 256 kBit/s
  4. geringe monatliche Kosten (ein Telefonanschluss der Telekom (mind. 16,37 EUR mtl., Stand 2008-06-03) ist akzeptabel wenn die Gesamtkosten gering bleiben, sollte aber möglichst vermieden werden)
  5. Entkopplung von DSL-Produkt und Telefon-Produkt um beides unabhängig voneinander wechseln zu können (keine VoIP-Flatrate o.ä. im DSL-Produkt o.ä.); hier geht es also nicht um die Auswahl eines geeigneten Telefontarifs
  6. Nutzung von Fax prinzipiell möglich, ggf. durch einen weiteren Service

Derzeit gibt es nur zwei deutschlandweite DSL-Anbieter die keine Mindestvertragslaufzeit verlangen: Alice DSL von HanseNet und Congstar, die Billigmarke der Telekom. Siehe den Artikel dsltarifinfo.de: DSL ohne Mindestvertragslaufzeit. Also vergleichen wir beide Anbieter:

Vergleich von DSL-Anbietern ohne Mindestlaufzeit: Alice DSL und Congstar

Alice: der in Frage kommende Tarif ist Alice Light (DSL 16.000, DSL Anschluss, DSL Flatrate, kein Telefonanschluss, keine Festnetz-Telefon-Flatrate) für 24,90 EUR mtl. Siehe dsltarifinfo.de: Tarifübersicht Alice DSL. Es kann, anders als bei Alice-Tarifen mit NGN-Telefonanschluss, einfach ein handelsüblicher DSL-Router mit DSL-Modem (etwa eine Fritz!Box) verwendet werden. Dazu wird dann im vorliegenden Fall noch ein VoIP-Anschluss benötigt über den Fax möglich ist (SIPGate plus für 3,95 EUR mtl. (mit Hardware-Faxgerät nutzbar, ggf. aber unzuverlässig da DSL-Leitungen selten störungsfrei sind), oder zwei dus.net DUStel starter Anschlüsse (einmal nötig für Fax-to-eMail, einmal für eine Telefonnummer; Rufnummernportierung 29,90 EUR einmalig pro Auftrag, Rufnummernbestellung 9,90 EUR einmalig und 4,90 EUR jährlich; Kosten also 0-0,85 EUR mtl.). Gesamtkosten also 24,90 oder 25,75 oder 28,80 (bei SIPGate) EUR mtl..

Congstar: der in Frage kommende Tarif ist Congstar DSL 6000 für 17,98 EUR mtl. (mit DSL-Flatrate, ohne Festnetz-Telefon-Flatrate), zusätzlich der Telefonanschluss der Deutschen Telekom für 16,37 EUR mtl., zusammen 34,35 EUR mtl.. Dazu kommt noch ein einmaliger Bereitstellungspreis von 49,99 EUR. Siehe dsltarifinfo.de: Tarifübersicht Congstar DSL.

Die Empfehlung gehört damit eindeutig der Kombination Alice DSL mit dus.net VoIP. Nur wenn man die etwas unkomfortablere Faxnutzung (Webservice, oder ggf. Übertragungsprobleme bei SIPGate) oder die evtl. vorhandenen leichten Qualitätseinbußen bei VoIP nicht in Kauf nehmen möchte sollte man Congstar verwenden.

Diskussion weiterer Möglichkeiten

  • 1&1 Surf&Phone 1000 (14,99 EUR mtl., zus. 5 EUR mtl. für DSL 16.000, keine Phone Flat, kein Telekom-Anschluss nötig, Mindestvertragslaufzeit 24 Monate). Dies wäre mit 19,99 EUR mtl. die günstigste Möglichkeit für eine DSL Flatrate, ist aber aufgrund der Mindestlaufzeit hier auszuschließen.
  • Interessant wäre auch die zus. kostenlose Nutzung der 1&1 HandyFlat (Flatrate von einem Handy ins deutsche Festnetz) bei Nutzung von 1&1 4DSL. 1&1 scheidet als Anbieter aber aus weil stets Mindestlaufzeiten von 24 Monaten verlangt werden.
  • O2 DSL L. Dieser Tarif enthält eine Phone Flat ins Mobilfunknetz von O2 und eine Festnetz-Telefon-Flatrate, d.h. es ist stets eine kostenfreie Weiterleitung von einer Festnetz-Rufnummer auf das Handy machbar. O2 verlangt jedoch 24 Monate Mindestlaufzeit, außerdem wäre hier die Entkopplung von Telefon- und DSL-Tarif nicht gegeben.

Posted in DSL-Anbieter, Sprache: Deutsch, alle Artikel | No Comments »

Recommendation how to convert files to another format?

May 28th, 2008 by daniel

media-convert.com/

Posted in Internet-Dienstleister, Sprache: Englisch | No Comments »

Woran liegt der folgende Fehler in phpGroupWare 0.9.16.000: »fopen(“/tmp/sess_[...]“, “r”) – Permission denied in [...]/phpgwapi/inc/class.sessions_php4.inc«?

May 26th, 2008 by matthias

How to reproduce this error: Use phpgroupware 0.9.16.000, her with PHP 4.2.3; register_globals = on for all apps except notes, projects, qmailldap, stocks, todo.

  1. Install phpGroupWare correctly, including the apps
  2. Point your browser to /setup below your phpGroupware Installation URL
  3. Choose “Click here to setup an admin account and (optionally) 3 demo accounts.*” Then only setup the admin account. This is how to recover from the phpgw crash (step 6), too.
  4. Login as admin user into phpgw and choose “Preferences > Change Your Settings > Your Preferences”. Or, choose “… > Default Preferences > Your Preferences”.
  5. Choose these Options and then “Save”: Language: German and Show number of current users: Yes
  6. Now, phpGroupWare outputs approx some 100 kB of error messages. This is reproducible for me. See below for the kind of error messages I get, all the time jumping between lines 208, 209, 210 in the specified script.
  7. Workaround: use a Forced Preference for language or number of current user information that prohibits the above mentioned combination of settings to be done by your users.

Here are the error messages that are generated:

Warning: fopen("/tmp/sess_66bb6b04ba1ddd84eec30c9665360181", "r") - Permission denied in /homepages/24/d70284365/htdocs/www.ansorgs.de/groups.ansorgs.de/phpgwapi/inc/class.sessions_php4.inc.php on line 208
Warning: fread(): supplied argument is not a valid File-Handle resource in /homepages/24/d70284365/htdocs/www.ansorgs.de/groups.ansorgs.de/phpgwapi/inc/class.sessions_php4.inc.php on line 209
Warning: fclose(): supplied argument is not a valid File-Handle resource in /homepages/24/d70284365/htdocs/www.ansorgs.de/groups.ansorgs.de/phpgwapi/inc/class.sessions_php4.inc.php on line 210
Warning: fopen("/tmp/sess_e46ac33657b1d69993c7fc104a9cf71a", "r") - Permission denied in /homepages/24/d70284365/htdocs/www.ansorgs.de/groups.ansorgs.de/phpgwapi/inc/class.sessions_php4.inc.php on line 208
Warning: fread(): supplied argument is not a valid File-Handle resource in /homepages/24/d70284365/htdocs/www.ansorgs.de/groups.ansorgs.de/phpgwapi/inc/class.sessions_php4.inc.php on line 209
Warning: fclose(): supplied argument is not a valid File-Handle resource in /homepages/24/d70284365/htdocs/www.ansorgs.de/groups.ansorgs.de/phpgwapi/inc/class.sessions_php4.inc.php on line 2101.
Install phpGroupWare correctly, including the apps

And now, something about the same error when installing.

Problematisch ist: in der Konfiguration von PHP4 (php.ini an unbekanntem Ort) steht session.save_path = /tmp . Das gilt für alle User. Der Webserver läuft aus der Sicht jedes Users unter seinem eigenen Benutzernamen, etwa p3002017. Es ist nun möglich, dass phpGroupWare-Installationen verschiedener Benutzer in /tmp Session-Dateien mit gleichem Namen anlegen, also einander überschreiben. Sie beginnen mit sess_ und haben danach eine lange hexadezimale Zeichenkette. Wenn dies ein Hashwert ist, könnte es das Überschreiben erklären. Somit werden Session-Dateien also ungültig. Erkennbar ist das daran, dass sie für den eigenen Benutzer nicht mehr lesbar ist und phpGroupWare etwa folgende Meldungen ausgibt:

Warning: fopen("/tmp/sess_dc4886a4eec5f", "r") - Permission denied
in /somepath/phpgwapi/inc/class.sessions_php4.inc.php
on line 208

Diese Problemanalyse wird dadurch bestätigt, dass die Fehlermeldungen in phpGroupWare verschwinden, wenn man einen neuen Benutzer anlegt und sich als solcher einloggt: klar, denn es wurden neue Session-Dateien angelegt statt dass alte gesucht wurden, und es ist sehr unwahrscheinlich, dass die neuen Dateien bereits von anderen phpGroupWare-Installationen überschrieben wurden. Das Prefix sess_ wird von phpGroupWare generiert, so dass nur phpGroupWare-Installationen miteinander im Konflikt stehen. Das Problem tritt selten auf, wenn die Server wenig genutzt werden, z.B. nachts. Es ist möglich, dieses Problem durch eine eigene php.ini zu beheben. Man lege sie ins Webserver-Rootverzeichnis der Domain oder Subdomain. Sie enthalte den vollständigen Pfad zum persönlichen tmp-Verzeichnis (mit entspr. Zugriffsrechten). Beispielinhalt:

session.save_path = /somepath/mytmpdir

Das Problem wird nicht gelöst, indem man Einstellungen in »Admin :: Site configuration :: Use cookies to pass sessionid:« und »Admin :: Site configuration :: check ip address of all sessions:« macht.

Eine weitere Möglichkeit sind evtl. Einstellungen in der .htaccess wie beschrieben in phpGroupware Mailingliste, 2003-09, Nachricht 241.

Dort steht auch ein möglicher Grund des Folgeproblems »Your session could not be verified.«: Cookies werden neben phpGroupWare noch von sitemgr verwaltet und abgelegt in /tmp wie bisher. Das muss noch umgestellt werden.

Tatsächlich wird auch nach Umstellung des /tmp-Verzeichnisses sowohl dort als auch am neuen Ort eine sess_-Datei zur aktuellen Session angelegt. Die session-ID der aktuellen Session kann man im Source-Code der HTML-Seite nach dem Einloggen nachlesen.

Aber: das Problem mit nicht lesbaren sess_*-Dateien tritt nur auf (dann aber für alle Benutzer) wenn man als Admin die Default-Preferences (oder einen bestimmten Teil davon) ändert. Und zwar tritt es dann unabhängig von der Serverbenutzung auf. Bisher hilft dann nur, im Setup-Bereich alle Benutzer zu löschen und einen neuen Admin-Benutzer anzulegen. Löschen der Cookies hilft nur, um zum Login-Screen zu gelangen wenn man nur den Domain-Namen eingibt.

Posted in 1&1, Netzwerk, Sprache: Deutsch, alle Artikel | No Comments »

On producing ads revenue and its moral value …

May 26th, 2008 by matthias

As you can see, we have Google AdSense advertisements on this blog. This is because this blog was originally intended to be just a business tool, for generating ads revenue with content that lurked around unpublished here.

Now, with the first weeks of active advertisements, it might be time for a first evaluation.

Before doing that, here is my original calculation of the expected money:

  • In 2008-02 and 2008-03, my personal weblog had 400 unique visitors and 600 pageviews a month, generated nearly exclusively from the 7 IT articles on it via search engine traffic.
  • Therefore, each technical article is worth 60-90 page views a month.
  • Therefore, the 1100 FAQ articles which are online here on doit.juii.net, equivalenting 500 longer technical articles, are worth 45,000 page views a month.
  • Then I assumed an Google AdSense eCPM (earning per 1000 page views with ads) value of 1,50 EUR. This seemed realistically when comparing cyDome’s eCPM comparison values for computer topic.
  • 45,000 page views with 1,50 EUR eCPM should be 72,50 EUR a month. More realistically: between 50 and 100 EUR a month.

Now comes current reality: we had 1,381 page impressions, one AdSense click, resulting in 0,13 USD total earnings and 0,09 USD eCPM. May I call this frustrating? With current values, I expect 2,000 page views a month and 0,20 USD total income a month. Even worse, the one click is due to technical evaluation / testing purposes! :-(

The reasons for this bad performance seems to be that most articles deal with Linux, and Linux users generally avoid to pay money for anything. They really won’t click on advertisements … .

Let’s now look how some big players do the job.

The result is, in my view: to make a really good amount of money, most important is you need a topic that sells ads (and Linux is poorest for that). Nonsense sells, and, of course, sex sells. But we don’t wanna get into that business, do we. Good ads earnings nearly always compromise good morals. Another thought is this: earning money with a website is reproducable (e.g. by following the how-to of John Chow), but what do you get for that? A day full of the most boring IT work you could imagine: search-engine optimization, tricking search engines, getting advertisements, comparing figures and statistics, HTML and CSS templating, and writing some dummy content where people are interested in. That’s nothing to get passionat about at all, but it seems to be a near full-time job. And instead of filling my life with such stuff, I’m going to select something where I can be passionate about … .

Posted in Google, Internet-Werbung, Sprache: Englisch, alle Artikel | No Comments »

How can I check a website’s Google pagerank?

May 26th, 2008 by matthias

The most obvious possibility is to use the Google Toolbar for your browser.

Alternatively, you can use different websites. For example, this one offers checking the page rank of up to 10 sites in parallel:

Top25Web pagerank checker

Posted in Google, Linux, Sprache: Englisch, alle Artikel | No Comments »

Wie kann ich verschlüsselte Online-Backups auf einem Server ablegen der per SSH und FTP und HTTP erreichbar ist?

May 10th, 2008 by matthias

Man verwende duplicity.

Test:

  1. duplicity /home/user/Verzeichis/ file:///usr/local/backup

Möglichkeiten, nach Empfehlbarkeit:

  • duplicity (wie rsynccrypto, aber mit GPG-Verschluesselung; erzeugt standardmäßig 5MB große TAR-Archive für inkrementelle Backups; per Kommandozeile kann man einen Restore zu bestimmtem Datum machen mit Prüfung der GPG-Signatur)
  • rdiffbackup bzw. rdiff
  • rsyncrypto mit lokalem Repository und anschließend FTP Mirroring zum Abgleich
  • rsyncrypto (SSH-getunnelt, auf dem Server lokal installiert).
  • verwende anacron-Jobs die nur laufen wenn eine (schnelle) Internetverbindung verfügbar ist

Posted in Internet-Dienstleister, Linux | No Comments »