Har svårt att sätta siffror på delar av mitt svar, men håll till godo!
Jag har själv aldrig satt upp en SMTP-server, men det skall bara vara att "sätta upp" den så kan du skicka mail.
Att skicka e-post via SMTP fungerar som när du lägger ett vanligt brev på lådan:
Posten hämtar brev från alla brevlådor och skickar dem till postsorteringscentralen (motsv. SMTP-servern). Där grovsorteras breven och skickas vidare till en annan sorteringscentral (närmare mottagaren) där breven sorteras igen och skickas till mottagarens lokala postkontor (också en SMTP-server) där brevet sedan sorteras till rätt brevlåda. Här håller de också koll på om brevet skall eftersändas/vidarebefordras och då skickas det till ytterligare ett annat postkontor (ännu en ny SMTP-server).
Du kan skicka vanlig post till vilken adress du vill, oavsett postort.
Du kan skicka e-post till vilken e-postadress du vill, oavsett domän.
Dock finns det ofta begränsningar i SMTP-servrarna. Webbhotell tillåter t.ex. bara att du sänder e-post
FRÅN din egen domän, eller en domän som tillhör webbhotellet.
Detta gäller nog iofs alla SMTP-servrar som bara tillåter avsändare som har e-postkonto på den servern.
Ofta har webbhotellen endast tillåtit SMTP från localhost. Internetleverantörer begränsar ofta så bara deras egna uppkopplingar tillåts ansluta till SMTP-servern.
De flesta som tillhandahåller e-postkonton (POP/IMAP) har ofta också en SMTP-server som man kan använda. Denna kräver då inloggning (ofta samma som inloggning till POP/IMAP) för att kunna ansluta.
Eftersom de flesta internetleverantörer blockerar port 25 har många SMTP-servrar konfigurerats för att köra på andra portar, t.ex. 26 eller 2525. Detta är bara att göra inställning i mailklienten/PHP-klassen.
Om du vill slippa sätta upp en egen SMTP-server, så kan du ju som sagt använda en extern. T.ex. GMail:s SMTP-server direkt. Men de kräver förmodligen inloggning med ett GMail-konto.
Citat:
4. Folk säger man kan använda sig av externa smtp servrar (och vi antar att min ISP inte har spärrat porten), VILKA kan man använda och VARFÖR tillåter andra SMTP servrar att man "utnyttjar" dom för att skicka mail?
|
Därför att folk som har e-postkonton hos dem måste kunna skicka mail.
Alternativt om vi pratar t.ex. telias SMTP så vill de att deras kunder skall kunna skicka mail. De har en på port 25 som man kan ansluta till men utanför det är port 25 spärrat.
Citat:
5. Kan man ställa in backup smtp servrar, så ifall den enda inte fungerar, så skickas det via den andra?
|
Nja, du måste ange en smtp-server att ansluta till. Om du installerar en lokalt så är den ju alltid igång och då är det inget problem.
Om man använder externa smtp-servrar så kan man ju bygga in i skriptet så att om det blir timeout på den första så provar den med en annan. Det beror sig helt på hur du bygger ditt PHP-skript. Normalt behöver man aldrig tänka på detta. Servrarna har ofta så bra upptid att det aldrig blir aktuellt.
Citat:
6. Förstår inte varför PHP inte kan skicka till gmails smtp server direkt utan måste först gå till en smtp server som sedan kommunicerar med en annan smtp server. Man kunde ju lika bra skickat datan direkt till den senare?
|
Då måste du veta exakt vilken SMTP-server som hanterar just den e-postadressen du skickar till. Om man använder t.ex. PHPMailer-klassen kan du ju fylla i gmails smtp-server och inloggingen till ditt gmail-konto så skickas ju mailen via gmails smtp-server.
Varför SMTP-servrarna kommunicerar och skickar mellan varandra skrev jag i början av detta inlägg (det där med postcentralerna).
Hoppas det hjälper lite på traven.