13. juli 2009 - 11:42Der er
32 kommentarer og 2 løsninger
Send mail via egen SMTP-server
Hej eksperter.
Jeg har en webside som sender nogle e-mail ud via php's mail()-funktion. Jeg kunne dog godt tænkte mig at det var via min egen exchange server, men hvordan kan jeg gøre det?
Min webside er hostet ude i byen, så jeg har ikke de store muligheder for at ændre i opsætningen i php'en...
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Jeg har nu kigget linket igennem og jeg kan desværre ikke finde det sted hvor du mener at man skal kunne angive brugernavn og adgangskode på den smtp-server som jeg gerne vil sende fra.
Min kode ser sådan ud nu: $Name = "Afsendernavn"; //senders name $email = "afsender@afsender.dk"; //senders e-mail adress $recipient = "modtager@modtager.dk"; //recipient $mail_body = "Her er teksten i selve e-mailen"; //mail body $subject = "Her er emnet"; //subject $header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
ini_set("SMTP","mail.domæne.dk"); ini_set('sendmail_from', 'afsender@afsender.dk'); //Suggested by "Some Guy"
$mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "mail.domæne.dk"; // SMTP server $mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "mail.domæne.dk"; // sets the SMTP server $mail->Port = 25; // set the SMTP port for the GMAIL server $mail->Username = "brugernavn"; // SMTP account username $mail->Password = "adgangskode"; // SMTP account password
PHP-filen liger i samme bibliotek som "class.phpmailer.php", "class.smtp.php" og "contents.html" som blot er en tom HTML-fil, som jeg selv har oprettet!
Jeg har ændret det til: $mail->From = "mail@domæne.dk"; $mail->FromName = "Navn på afsender";
Og så sendte den e-mailen...
MEN den skriver en masse til mig, det ønsker jeg ikke, hvordan kan jeg få den til at lade være med det? Det jeg ønsker der skal ske er blot at jeg får en variabel om den er sendt eller ej. F.eks. kunne den videre sende til: email.php?status=sendt eller email.php?status=fejl
For ikke at skabe forvirring, så sender koden e-mail ud gennem serveren helt som den skal, men jeg vil gerne undgå at den skriver ovenstående på websiden, da mine brugere ikke kan bruge det til...
Det lyder sku lidt underligt, eftersom at det er den kode som jeg også bruger...
Men pyt, jeg tror jeg har fundet en løsning med min nuværende kode. Vil du ikke ligge et svar, så fordeler jeg point mellem dig og "splazz", da I begge har hjulpet mig til min løsning.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.