Paweł Andruszkiewicz

Paweł Andruszkiewicz Technik informatyk

Temat: wysyłanie emaila za pomocą as

czy jest jakiś optymalny sposób mało skomplikowany do wysłania takowego emaila ? w internecie znalazłem coś takiego

to w flashu

import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLRequestMethod;

imie_txt.text = nazwisko_txt.text = email_txt.text = telefon_txt.text = pytanie_txt.text = status_txt.text = "";

var req:URLRequest = new URLRequest("wyslij.php");
var loader:URLLoader = new URLLoader;
req.method = URLRequestMethod.POST;


function wyslij(e:MouseEvent):void
{
if (imie_txt.text == "" || nazwisko_txt.text == "" || email_txt.text == "" || telefon_txt.text == "" || pytanie_txt.text == "")
{
status_txt.text = "Proszę wypełnic wszystkie pola";
}
else if (!sprawdzEmail(email_txt.text))
{
status_txt.text = "Błędny Adres email";
}
else
{
status_txt.text = "Wysyłam wiadomość"
var dane : String = "imie=" + imie_txt.text
+ "&nazwisko=" + nazwisko_txt.text
+ "&email=" + email_txt.text
+ "&telefon=" + telefon_txt.text
+ "&pytanie=" + pytanie_txt.text;
var vars:URLVariables = new URLVariables(dane);
vars.dataFormat = URLLoaderDataFormat.TEXT;
req.data=vars;
loader.load(req);
loader.addEventListener(Event.COMPLETE, odbierzOdpowiedz);
}

}

function sprawdzEmail(s:String):Boolean
{
var p:RegExp = /(\w|[_.\-])+@((\W|-)+\.)+\w{2,4}+/;
var r:Object = p.exec(s);
if(r == null)
{
return false;
}
return true;
}


function odbierzOdpowiedz(e:Event):void
{
var wyslano = new URLVariables(loader.data).wyslano;
if (wyslano=="tak")
{
status_txt.text = "Wiadomość została wysłana";
}
else
{
status_txt.text = "Błąd podczas wysyłania";
}
}
wyslij_mc.addEventListener(MouseEvent.CLICK, wyslij);



a to plik wyslij.php


<?php
$kontakt_imie = $_POST['imie'];
$kontakt_nazwisko = $_POST['nazwisko'];
$kontakt_email = $_POST['email'];
$kontakt_telefon = $_POST['telefon'];
$kontakt_wiadomosc = $_POST['wiadomosc'];

if( $kontakt_imie == true )
{
$nadawca = $kontakt_email;
$odbiorca = "adres@email.pl";
$client_ip = $_SERVER['REMOTE_ADDR'];
$email_tresc = "Imie: $kontakt_imie \nNazwisko: $kontakt_nazwisko \nEmail: $kontakt_nadawca \n$nadawca \n\nWiadomość: \n\n$kontakt_wiadomosc \n\nIP: $client_ip \n\n"; $extra = "From: $nadawca\r\n" . "Reply-To: $nadawca \r\n" . "X-Mailer: PHP/" . phpversion();

if( mail( $odbiorca, "Formularz kontaktowy", $email_tresc, $extra ) )
{
echo "wyslano=tak";
}
else
{
echo "wyslano=nie";
}
}
?>


skrypt działa w ten sposób ze jeśli są puste pola to pokażę napis "Proszę wypełnic wszystkie pola"

a jak wpisze sie błędy adres email to "Błędny Adres email"

i problem tkwi ze nawet jeśli poprawny adres wpiszę to nawet testowego emaila wysłac nie mogę bo właśnie ten błąd wyskakujePaweł Andruszkiewicz edytował(a) ten post dnia 06.03.11 o godzinie 09:40

konto usunięte

Temat: wysyłanie emaila za pomocą as

Slabo szukasz w tym internecie.

var p:RegExp = /^([a-zA-Z0-9_-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$/i;

konto usunięte

Temat: wysyłanie emaila za pomocą as

W tym wyrażeniu regularnym jest poważny błąd: nie akceptuje adresów z "." w mailu np: jan.kowalski@gmail.com

Może to szybko poprawić:

/^([a-zA-Z.0-9_-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$/i


chociaż taki regexp też nie jest idealny - akceptuje np. adresy zaczynające się od ".", dlatego należy pamiętać, że nie jest to rozwiązanie w 100% pewne.
http://en.wikipedia.org/wiki/Email_address#Syntax
Kuba Regucki

Kuba Regucki IT Team Leader

Temat: wysyłanie emaila za pomocą as

Krzysztof Opałka:
...chociaż taki regexp też nie jest idealny - akceptuje np. adresy zaczynające się od "."

to powinno pomóc

/^[\w][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z]{2,4}$/i
Paweł Andruszkiewicz

Paweł Andruszkiewicz Technik informatyk

Temat: wysyłanie emaila za pomocą as

dziękuje ślicznie działa :)



Wyślij zaproszenie do