PHP mail() tillader som standard ikke brugen af en ekstern SMTP server og supporterer ikke SMTP autorisation — påkrævet af mange mailservere i dag, herunder vores mailservice, for at undgå misbrug.
For at tilgå vores SMTP server via et PHP script med brug af SMTP autorisation til afsendelse af e-mail kan følgende vejledning benyttes:
- udpak og upload til din hjemmeside følgende gratis pakke kaldet PHPMailer, som kan hentes her: PHPMailer Download
- opret et .php script som refererer til PHPMailerAutoload.php, inkluderet i den hentede pakke.
- inkluder og tilret følgende instillinger i dit script:
//This example shows making an SMTP connection with authentication. //SMTP needs accurate times, and the PHP time zone MUST be set //This should be done in your php.ini, but this is how to do it if you don't have access to that date_default_timezone_set('Etc/UTC'); require '../PHPMailerAutoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer; //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 2; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = "mail.web-solutions.dk"; //Set the SMTP port number - likely to be 25, 465 or 587 $mail->Port = 465; //Whether to use SMTP authentication $mail->SMTPSecure = 'SSL'; $mail->SMTPAuth = true; //Username to use for SMTP authentication $mail->Username = "user@domain.tld"; //Password to use for SMTP authentication $mail->Password = "user-password"; //Set who the message is to be sent from $mail->setFrom('email@from', 'Name'); //Set an alternative reply-to address $mail->addReplyTo('', ''); //Set who the message is to be sent to $mail->addAddress('', ''); //Set the subject line $mail->Subject = ''; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); //Replace the plain text body with one created manually $mail->AltBody = 'This is a plain-text message body'; //Attach an image file $mail->addAttachment('images/phpmailer_mini.png'); //send the message, check for errors if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
Du skal benytte følgende instillinger:
- host: mail.web-solutions.dk
- port: 465
- SMTPsecure: SSL
- SMTPAuth: true
- username: mail username (din e-mail adresse)
- password: your mail password