1st Domain

Hvordan sender jeg e-mails med SMTP Auth? PHP eksempel

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