Avatar billede johov Nybegynder
29. januar 2016 - 13:40 Der er 1 kommentar

Sende emails med PHP og Synology NAS

Jeg ønsker at sende E-Mail med et PHP Script fra min hjemmeside.

Jeg hoster min hjemmeside på en Synology 215+ NAS. Hvor vores egne emails adresser er. Det virker OK. Vi får mails og kan sende dem.

Jeg kan lave mails på sitet og sende dem, til en mail adresse der er på min NAS. Men ikke til mails der er ude i verden.
Hvad gør jeg forkert, eller kan Synology's mail server ikke klare det.

Med venlig hilsen
Ole

Her er scriptet jeg prøver at sende med.

<?php
session_start(); // Muliggør at data kan gemmes i $_SESSION, mellem forskellige besøg af samme besøgende
?>

<?php
function password ($len = 8) {
  $chars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789";
  mt_srand( (double) microtime() * 1000000);
  for ($i=1;$i<=$len;$i++) $out .= $chars[mt_rand(0,(strlen($chars)-1))];
  return $out;
}

//Genererer et tilfældigt password. Med 6 tegn.
$password = password(6);

//echo $password;
$_SESSION[sesPass] = $password;

include("database.php"); // Åbner database

$minemail = "min@email.com"; // adressen som e-mailen skal vises at være fra

$tilemail = "$_SESSION[sesEmail]"; // adressen som e-mailen skal sendes til

ini_set("sendmail_from", $minemail); // bruges kun til Windows systemer
ini_set("SMTP", ".email.com"); // bruges kun til Windows systemer
ini_set("smtp_port", "465"); // bruges kun til Windows systemer

$encoding = "utf-8"; // sæt til samme encoding som HTML siden hvor formular sendes

$emne    = "Hermed din koder til medlemssider"; // e-mailens emne

$besked  = "Hej $_SESSION[sesNavn]" . "\r\n" // e-mail beskeden
          . "Jeg har sendt dig en kode som du kan starte med at logge dig ind med." . "\r\n"
          . "Gå ind på login siden og ret dit password / kode. " . "\r\n"
          . "Hvis du ønsker en anden kode. " . "\r\n"
          . "". "\r\n"
          . "Dit brugernavn er:        $_SESSION[sesNavn]" . "\r\n"
          . "Dit brugernavn er:        $_SESSION[sesUser]" . "\r\n"
          . "Dit password / kodeord er: $password" . "\r\n"
          . "Din e-mail er:            $_SESSION[sesEmail]" . "\r\n"
          . "". "\r\n"
          . "Med venlig hilsen" . "\r\n"
          . "Ole" . "\r\n";
$headers  = "From: " . $minemail . " <" . $minemail . ">" . "\r\n"
          . "Content-Type: text/plain; charset=" . $encoding . "\r\n";

$besked = wordwrap($besked, 70, "\r\n"); // linjer må ikke være større end 70 tegn ifølge PHP manualen

$besked = str_replace(array("\r\n", "\n."), array("\n", "\n.."), $besked);

if (mail($tilemail, $emne, $besked, $headers)) {
echo "Beskeden blev sendt";

} else {
echo "Beskeden blev ikke sendt";
}
mysql_query("UPDATE bruger SET kodeord = '$password' WHERE brugernavn='$_SESSION[sesUser]'") or die(mysql_error());
?>
Avatar billede johov Nybegynder
28. februar 2016 - 15:56 #1
Jeg lukker spørgsmålet, der har ingen svar været.
Mvh. Ole
Avatar billede Ny bruger Nybegynder

Din 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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester