PHP Mail + SMTP auth.

Dragi kolegi,
prosil bi vas za nasvet, kako naj modificiram send.php, da bi obrazec na strani pošiljal preko SMTP.

Obrazec koda:

<form action="javascript:sendMail()" method="get" id="contact-form" name="form"> <!--form-->
<h2>NASLOV FORME</h2>
<fieldset>
<input type="text" name="name" id="name" placeholder="ime" maxlength="30" required/>
<input type="email" name="email" id="email" placeholder="email" maxlength="40" required=""/>
<input type="text" name="message" id="content" placeholder="vsebina" maxlength="30" required/>
<input type="submit" value="Pošlji" />

SEND.PHP vsebina:

<?php
    if ( isset( $_GET[ "name" ] ) && isset( $_GET[ "email" ] ) && isset( $_GET[ 'message' ] ) )
    {
        if ( !empty( $_GET[ "name" ] ) && !empty( $_GET[ "email" ] ) && !empty( $_GET[ 'message' ] ) )
        {
                // Your code here to handle a successful verification
                $to = 'prejemnik@email.tld'; //change with your mail
                $subject = 'ZADEVA NEKAJ'; //The subject you want to appear
                $message = $_GET[ 'message' ];
                $name = $_GET[ 'name' ];
                $additional_headers = 'From: ' . $_GET[ 'name' ] . '<' .
                    $_GET[ 'email' ] . '>';

                if ( @mail( $to, $subject, $message, $additional_headers ) )
                    echo "<span class=\"success\">Hvala $name!<br /> Message sent!</span>"; //Success Message
                else
                    echo "<span class=\"error\">Ups! ERROR </span>"; //Error message
        }
        else
            echo "Check input";
    }
    else
        echo "Direct PHP access is not allowed"; //Spam control
?>

Kako lahko dodam parametre SMTP, da bi le ti tudi delovali?

HVALA!!
S.

9 odgovorov

A si poskusil uporabiti google? Verjetno ne. Anyway upam da se boš znašel.

https://www.google.com/search?q=php+smtp

http://www.rackspace.com/knowledge_center/article/how-do-i-test-php-smtp-functionality

1

s1l3, hvala za odziv.

Sem gledal na google, našel sem nekaj primerov, ampak nisem uspel ustrezno modificirati (da bi delovala) omenjena forma.

Žal je to zame nekaj novega. Na podlagi rešitve se da marsikaj naučiti in v prihodnje to obvladati (ter deliti z drugimi).

LP S.

Upam da ti bo uspelo rešiti zadevo z zgornjim primerom, če ne se pa javi nazaj.

Kakor jaz vem preko mail() komande ne boš mogel narediti avtorizacije.

Uporabi kakšen klass kot je Swiftmailer

1

OvcaX, na prvi pogled mislim da bo to točno to kar potrebujem! Hvala ti!

Živjo.

Poskusi!

php.ini
SMTP = mail.domena.si

php
ini_set('SMTP', 'mail.domena.si');

31

Faca5 a si ti malce linkov nabiraš?

Sprašuje o SMTP AUTORIZACIJI, kar pa ne gre čez mail()

1

OvcaX: misliš objav? :)

Drugače se ti za kakšno pravo delo z maili splača uporabit Zend Mail (exstrahiraš vse dependent file, ki jih modul potrebuje). Načeloma ti na njihovi strani vse piše.

Imaš pa tudi phpmailer (http://sourceforge.net/projects/phpmailer/), ki podpira SMTP autentifikacijo.

LP

1

Pozdravljena,
zaenkrat sem rešil zadevo s slednjim in forma deluje.

Odpre sicer novo stran (poslji.php), ampak bom naštudiral in probal rešiti tako kot je to pri WP Contact Form pluginu rešeno :) - brez reloada.