WebSite X5Help Center

 
Matija G.
Matija G.
User

Sending Mail Forms  en

Autor: Matija G.
Visitado 6682, Followers 3, Compartido 78  

Hi, is possible to send e-mail forms via SMTP server, because my mailserver blocked forms, send by X5? Matija

Publicado en
7 RESPUESTAS
Pcssa .
Pcssa .
Moderator

. . . for sending mail (contact) you need to have PHP5 installed and working on server . . .

For other possibilities please read manual page 86 to 93 . . .

Leer más
Publicado en de Pcssa .
Matija G.
Matija G.
User
Autor

I have installed PHP 5.6.3.0 and it work for all other aplications without any problem!

Leer más
Publicado en de Matija G.
Incomedia
Claudio N.
Incomedia

Hello Matija,

WSX5 doesn't provide a direct SMTP access because PHP does not support it natively. Moreover, each SMTP server could require different settings.


Actually, your request is outside WebSite X5's jurisdiction but I can give you a tip on this.


WebSite X5 always uses the "email" function of PHP but you can "build" an SMTP access script on your own if you have a base knowledge of programming and PHP.

If you want to build your custom SMTP library for WSX5, you should do as follow:

1) In the email form settings, double click on each field. In the Field Settings Window, click on the "Options" tab and there set a name to the field using the "Name attribute" setting. This name will be used to identify the content of that field when the email form will be sent to your server.


2) Create a custom PHP file. It should retrieve each field from the email form using the $_POST array. In step 1, I've suggest to provide a value for the "Name attribute" of each field. For example, if you set "customer_name" as name of a field, the content of that field will be stored in $_POST['customer_name'] when the form will be sent to PHP. This PHP file must then build an email and send it using SMTP. I've found this interesting tutorial on how you can use SMTP in PHP: http://www.dreamincode.net/forums/topic/36108-send-emails-using-php-smtp-direct/

3) In the "Send" tab of the email form, choose "Send to file" and select your custom PHP script.

Hope this helps! Wink

Leer más
Publicado en de Claudio N.
Sace Webmaster
Sace Webmaster
User

Has anybody created a custom php file which allows smtp mail ?

Leer más
Publicado en de Sace Webmaster
Renato Duran
Renato Duran
User

Hello, I´m from Brasil. I have difficult language english. Please how send mail smtp? My server block mail form.

Thank's.

Renato.

Leer más
Publicado en de Renato Duran
Ken C.
Ken C.
User

I just changed imemail.inc.php and added a few lines to send via smtp. edit the bits as you need to. The first 7 lines in bold are from the original file so you can see where the new parts go.

Now you will get 2 identical e-mails with the order info as the system tries to send one to your customer and the other to you.  see below if you want to tidy it up after making this change.

            ini_set("sendmail_from", $this->from);
            
            $r = @mail($this->to, $this->subject, $msg, $headers, "-f" . $this->from);
            if(!$r) {
                $headers = "To: " . $this->to . "\r\n" . $headers;
                $r = @mail($this->to, $this->subject, $msg, $headers);
            }
            
include_once("Mail.php");
 
$From = "senders name <senders email>";
$To = "Recipient's name <recipients e-mail address>";
$Subject = "the subject";
$Message = $msg;
 
$Host = "outgoing mail server";
$Username = "username";
$Password = "password";
 
// Do not change bellow
 
$Headers = array ('From' => $From, 'To' => $To, 'Subject' => $Subject);
$SMTP = Mail::factory('smtp', array ('host' => $Host, 'auth' => true,
'username' => $Username, 'password' => $Password));
 
$mail = $SMTP->send($To, $Headers, $Message);
 
if (PEAR::isError($mail)){
echo($mail->getMessage());
} else {
 
}

            return $r;
        }
    }
?>

Ok now you get 2 e-mails with the info, to stop this edit the bottom of imcartsend.php so it looks like this

//Send email to owner
$htmMsg = $htmHead . "<tr><td><b>" . $imOrderNo . "</b></td></tr>" . $htmFoot . "<br>" . $htmHead . $imOrderDataHTML . $htmFoot . "<br>" . $htmHead . $imUserDataHTML . $htmFoot . "<br>" . "";
$oEmail = new imEMail(($imForceSender ? $_POST["imUserMail"] : "***"),"***",$imOrderNo,"iso-8859-1");
$oEmail->setText($imOrderNo . "\n\n" . $imOrderDataTxt . "\n\n\n" . $imUserDataTxt . "\n\n\n");
$oEmail->setHTML("");
$oEmail->send();


@header("Location: ../impayment.html");
?>

Now you get one simple e-mail with the order info and buyers e-mail address, just forward it to the buyer when you deal with the order.

Leer más
Publicado en de Ken C.