Web Hosting Domain Names dnHost Site
Προηγμένη αναζήτηση Αναζητήστε τη γνωσιακή βάση
 Featured

Αποστολή e-mail από φόρμες επικοινωνίας με SMTP authentication

Προβολές: 14916 Τελευταία ενημέρωση: 13/06/2018 17:35 0 Βαθμολογία/ Χρήστες

Για να στείλετε email από την φόρμα επικοινωνίας ή παραγγελίας του website σας, τότε θα πρέπει να χρησιμοποιήσετε τη μέθοδο του SMTP Authentication.

Έτσι ο server μας θα επαληθεύσει ότι η φόρμα σας έχει το δικαίωμα να στείλει email διαμέσω του server και θα της επιτρέψει την αποστολή του email στον/στους παραλήπτη/τες που θα ορίσετε.

Aυτό μπορείτε να το πετύχετε με το PHPMailer που είναι μια κλάση της PHP για αποστολή email με πολλές δυνατότητες: επισύναψη αρχείων, SMTP servers, κοινοποιήσεις σε τρίτους (CC, BCC), HTML μηνύματα κ.α. 

Με το PHPMailer μπορείτε να στείλετε email απευθείας μέσω του SMTP mail server σας.


Oδηγίες ρύθμισης phpMailer:

1. Κατεβάστε το πακέτο αρχείων του PHPMailer από εδώ και ανεβάστε ΟΛΑ τα αρχεία στον κατάλογο από τον οποίο το θα κληθεί το phpmailer.

2. Αποθηκεύστε τον παρακάτω κώδικα σε ένα έγγραφο php.

Τροποποιήστε τις ρυθμίσεις όπως απαιτείται π.χ. για τον server σας: "mail.example.com", "info@example.com", "info@client.com".


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
defined('PHPMAILER') || die('Direct access to this file is not permitted.');

if(!class_exists('PHPMailer')){
    require 'class.phpmailer.php';
    require 'class.smtp.php';
}

$mail = new PHPMailer;

//$mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'mail.example.com'// Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'info@example.com';                 // SMTP username
$mail->Password = 'password';                           // SMTP password
//$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to
$mail->CharSet = 'utf-8';
$mail->setFrom('info@example.com', 'Mailer');
$mail->addAddress('recipient@example.com', 'recipients name');     // Add a recipient
//$mail->addAddress('another_recipient@example.com');               // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');

//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML



*Εάν αντιμετωπίσετε κάποιο πρόβλημα με κωδικό σφάλματος "550 Subject contains invalid characters" και δεν αποστέλνονται τα mail σας, δοκιμάστε να αλλάξετε την παραπάνω γραμμή κώδικα 

    από   $mail->CharSet='utf-8';           
    σε      $mail->CharSet='iso-8859-7';

Ανεβάστε στον ίδιο κατάλογο όπως και πριν.

3. Κάντε τις αλλαγές στον κώδικα της φόρμας επικοινωνίας σας, όπως φαίνεται παρακάτω:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?php

define ("PHPMAILER", true);
require 'phpmailer/PHPMailerAutoload.php';
include('phpmailer/config.inc.php');

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}





Στη συνέχεια δοκιμάστε να στείλετε email από την φόρμα σας.

Σε περίπτωση που δεν έχετε το επιθυμητό αποτέλεσμα επικοινωνήστε με το support@dnhost.gr για να σας βοηθήσουμε.

Σημείωση: Αν ΔΕ χρησιμοποιείτε τον email server της dnhost για τα emails σας, αλλά έχετε αλλάξει τις εγγραφές MX του domain σας κι έχετε email μέσω της google (gmail.com) ή της microsoft (outlook.com), τότε θα πρέπει να μας ζητήσετε (στο support@dnhost.gr) να φτιάξουμε ένα email χρήστη στο server μας για να μπορείτε να στέλνετε email μέσα από το site σας.

Eπισυνάψεις
DNHOST_PHPMAILER.zip 46 Kb Download File