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());
?>