WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP mail()... (https://www.wn.se/forum/showthread.php?t=35339)

grinditwp 2009-02-24 09:29

Använder mail($to, $subject, $msg, $headers); för att skicka e-post via min webbsida.
Hur ändrar jag vilken smtp-server som skall användas? Gärna via php, har inte server access.

Magnus_A 2009-02-24 09:45

Svårt att läsa manualen?
http://se2.php.net/manual/en/mail.configuration.php

grinditwp 2009-02-24 10:07

Citat:

Originally posted by Magnus_A@Feb 24 2009, 10:45
Svårt att läsa manualen?
http://se2.php.net/manual/en/mail.configuration.php

Tack för svaret men det finns väll ingen anledning att ta till en otrevlig ton?
Svara inte om du inte vill. Men tack ändå.

Kod:

ini_set('SMTP', 'mail.server.se');

emilv 2009-02-24 10:17

Observera att du endast kan göra detta på Windows-maskiner. På Unix-liknande system är rätt sätt att ändra i konfigurationen till MTA:n (Sendmail, Postfix etc).

studiox 2009-02-24 11:01

Citat:

Originally posted by Magnus_A@Feb 24 2009, 10:45
Svårt att läsa manualen?
http://se2.php.net/manual/en/mail.configuration.php


Detta går bara på windows som emilv sa.

Om grinditwp vill ha lite mer flexibilitet skulle jag rekommendera phpmailer som är mycket bättre, och kan använda en SMTP server med auth även på linux.

grinditwp 2009-02-24 11:20

Citat:

Ursprungligen postat av studiox
Citat:

Ursprungligen postat av Magnus_A

Detta går bara på windows som emilv sa.

Om grinditwp vill ha lite mer flexibilitet skulle jag rekommendera phpmailer som är mycket bättre, och kan använda en SMTP server med auth även på linux.

PHPMailer verkar najs.

Finns det några nackdelar med att skicka direkt via SMPT-servern enligt följande:

Kod:

function sendmail($ToName, $ToEmail, $FromName, $FromEmail, $Subject, $Body, $Server)
{
$SMTP = fsockopen($Server, 25);

$InputBuffer = fgets($SMTP, 1024);

fputs($SMTP, "HELO $Server\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "MAIL From: $FromEmail\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "RCPT To: $ToEmail\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "DATA\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "From: $FromName <$FromEmail>\n");
fputs($SMTP, "Reply-To: $FromName <$FromEmail>\n");
fputs($SMTP, "Content-Type: text/html; charset=iso-8859-1\n");
fputs($SMTP, "X-Mailer: PHP/" . phpversion() . "\n" . "MIME-Version: 1.0\n");
fputs($SMTP, "To: $ToName <$ToEmail>\n");
fputs($SMTP, "Subject: $Subject\n\n");
fputs($SMTP, "$Body\r\n.\r\n");
fputs($SMTP, "QUIT\n");
$InputBuffer = fgets($SMTP, 1024);

fclose($SMTP);
}

Verkar ganska vettigt? Då kanske ett 100Kb bibliotek känns överflödigt?

Finns ganska bra guide på just mail direkt via smtp server här; http://www.dreamincode.net/forums/showtopic36108.htm :)

grinditwp 2009-02-24 11:23

Citat:

Originally posted by emilv@Feb 24 2009, 11:17
Observera att du endast kan göra detta på Windows-maskiner. På Unix-liknande system är rätt sätt att ändra i konfigurationen till MTA:n (Sendmail, Postfix etc).

Jag måste alltså ha tillgång till serverns konfigurationer själv?
Sorry, men mail är inte min starka sida. Men jag lär mig snabbt! :P

mrjb 2009-02-24 15:33

Använd Zend Framework.

Där finns allt du behöver i SMTP-väg och mycket annat.

SimonP 2009-02-24 15:54

Citat:

Originally posted by grinditwp@Feb 24 2009, 11:20
Finns det några nackdelar med att skicka direkt via SMPT-servern enligt följande:

Kod:

function sendmail($ToName, $ToEmail, $FromName, $FromEmail, $Subject, $Body, $Server)
{
$SMTP = fsockopen($Server, 25);

$InputBuffer = fgets($SMTP, 1024);

fputs($SMTP, "HELO $Server\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "MAIL From: $FromEmail\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "RCPT To: $ToEmail\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "DATA\n");
$InputBuffer = fgets($SMTP, 1024);
fputs($SMTP, "From: $FromName <$FromEmail>\n");
fputs($SMTP, "Reply-To: $FromName <$FromEmail>\n");
fputs($SMTP, "Content-Type: text/html; charset=iso-8859-1\n");
fputs($SMTP, "X-Mailer: PHP/" . phpversion() . "\n" . "MIME-Version: 1.0\n");
fputs($SMTP, "To: $ToName <$ToEmail>\n");
fputs($SMTP, "Subject: $Subject\n\n");
fputs($SMTP, "$Body\r\n.\r\n");
fputs($SMTP, "QUIT\n");
$InputBuffer = fgets($SMTP, 1024);

fclose($SMTP);
}

Verkar ganska vettigt? Då kanske ett 100Kb bibliotek känns överflödigt?

Du kommer att få problem med den koden på vissa mailservrar.
Den tar inte ett dugg hänsyn till RFC standarden.

tartareandesire 2009-02-24 16:13

Glöm inte att skydda dig mot mail injections också. De är otrevliga.


Alla tider är GMT +2. Klockan är nu 14:20.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson