Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Problema legata de inlocuire mail() cu smtp
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
coverdale



Data înscrierii: 12/Iul/2003
Mesaje: 2

Trimis: Sâm Iul 12, 2003 5:36 pm    Titlul subiectului: Problema legata de inlocuire mail() cu smtp  

Salutare,
am o problema pe care incerc sa o rezolv dar nu reusesc:
Am un chat care foloseste functia mail() pentru a trimite celui care se inscrie, la adresa de email pe care o specifica acesta, mesajul cu username-ul (ales) si parola (autogenerata). As dori sa modific fisierul pentru a putea transmite mailul folosind SMTP. Pentru asta am inlocuit linia

mail($arsc_email, $arsc_lang["register_emailtemplate_subject"], str_replace("{chatowner}", $arsc_parameters["register_owner"], str_replace("{homepage}", $arsc_parameters["register_homepage"], str_replace("{password}", $arsc_password, str_replace("{username}", $arsc_user, $arsc_lang["register_emailtemplate"])))), "From: ".$arsc_parameters["register_owner_email"]);

cu

$socket = fsockopen("smtp.as.ro, 25, $errno, $errstr);
if ($socket) {
fputs($socket, "EHLO PHP\r\n");
fputs($socket, "MAIL FROM: ".$arsc_parameters["register_owner_email"]."r\n\");
fputs($socket, "RCPT TO: $arsc_email\r\n");
fputs($socket, "data\r\n");
fputs($socket, "Subject: ".$arsc_lang["register_emailtemplate_subject"]."\r\n");
fputs($socket, "To: $arsc_email\r\n");
fputs($socket, $arsc_location."\r\n");
fputs($socket, "\r\n");
fputs($socket, str_replace("{chatowner}", $arsc_parameters["register_owner"], str_replace("{homepage}", $arsc_parameters["register_homepage"], str_replace("{password}", $arsc_password, str_replace("{username}"."\r\n");
fputs($socket, .\r\n");
fputs($socket, "RSET\r\n");
fputs($socket,"QUIT\r\n");
while(!feof($socket)){fgets($socket, 1024);
}
fclose($socket);
}
else {
echo "Eroare la deschidere socket!";
}

Cand am incercat sa rulez fisierul astfel rezultat in browser, nici un rezultat, pagina alba!
Sunt sigur ca e gresit ce am facut, de aceea va rog sa ma ajutati.
Iata mai jos fisierul register.php pe care doresc sa-l modific:

<?php

include("config.inc.php");
include("functions.inc.php");
include("shared/language/".$arsc_language.".inc.php");

if ($arsc_send == "")
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>
<?php echo $arsc_parameters["title"]; ?>
</title>
</head>
<body bgcolor="#FFFFFF" background="pic/border_background.jpg">
<table width="500" align="center" cellpadding="6" background="pic/body_background.jpg">
<tr>
<td>
<font face="Verdana" size="2" color="#FF0000">
<b>
<?php
if ($arsc_error <> "")
{
echo $arsc_lang["error_".$arsc_error];
}
?>
</b>
</font>
<form METHOD="POST">
<input type="hidden" name="arsc_send" value="yes">
<input type="hidden" name="arsc_language" value="<?php echo $arsc_language; ?>">
<font face="Verdana" color="#FFE080" size="2">
<?php
echo $arsc_lang["register_intro"]."\n";
if ($arsc_parameters["register_force"] == "yes")
{
echo $arsc_lang["register_intro_force"];
}
?>
</font>
<br>
<br>
<table>
<tr>
<td>
<font face="Verdana" color="#FFE080"size="2">
<b>
<?php echo $arsc_lang["register_entername"]; ?>
</b>
</font>
</td>
<td>
<input type="text" name="arsc_user" size="12" maxlength="10">
</td>
</tr>
<?php
if ($arsc_parameters["register_force"] <> "yes")
{
?>
<tr>
<td>
<font face="Verdana" color="#FFE080" size="2">
<b>
<?php echo $arsc_lang["register_enterpassword"]; ?>
</b>
</font>
</td>
<td>
<input type="password" name="arsc_password" size="12" maxlength="12">
</td>
</tr>
<?php
}
?>
<tr>
<td>
<font face="Verdana" color="#FFE080" size="2">
<b>
<?php echo $arsc_lang["register_enteremail"]; ?>
</b>
</font>
</td>
<td>
<input type="text" name="arsc_email" size="12" value="<?php echo $arsc_email; ?>">
</td>
</tr>
</table>
<input type="submit" value="<?php echo $arsc_lang["register_send"]; ?>">
</form>
</td>
</tr>
</table>
</body>
</html>
<?php
}
else
{
$arsc_result = mysql_query("SELECT COUNT(*) as howmany FROM arsc_registered_users WHERE user = '$arsc_user'");
$arsc_a = mysql_fetch_array($arsc_result);
if ($arsc_a["howmany"] == 0)
{
$arsc_location = "Location: home.php?arsc_language=".$arsc_language."&arsc_user=".$arsc_user;
if ($arsc_parameters["register_force"] == "yes")
{
$arsc_password = substr(md5(time()), 0,5);
$arsc_location = "Location: home.php?arsc_language=".$arsc_language."&arsc_error=waitformail&arsc_user=".$arsc_user;
}
mail($arsc_email, $arsc_lang["register_emailtemplate_subject"], str_replace("{chatowner}", $arsc_parameters["register_owner"], str_replace("{homepage}", $arsc_parameters["register_homepage"], str_replace("{password}", $arsc_password, str_replace("{username}", $arsc_user, $arsc_lang["register_emailtemplate"])))), "From: ".$arsc_parameters["register_owner_email"]);
mysql_query("INSERT INTO arsc_registered_users (user, password, email) VALUES ('$arsc_user', '$arsc_password', '$arsc_email')");
header($arsc_location);
die();
}
else
{
header("Location: register.php?arsc_email=".$arsc_email."&arsc_language=".$arsc_language."&arsc_error=register_double_user");
die();
}
}
?>

Le multumesc anticipat celor care pot si doresc sa ma ajute.
Dan.
Sus  
Lucian



Data înscrierii: 02/Oct/2002
Mesaje: 27
Locație: Bacau

Trimis: Dum Iul 13, 2003 11:30 am    Titlul subiectului: Rularea scriptului  

De pe ce server ai incercat rularea scriptului de chat? Pe serverul as.ro sau pe serverul localhost?...Daca e prima varianta, nu ar mai trebui sa specifici SMTP-ul, caci mail() va folosi implicit serverul SMTP smtp.as.ro si cred ca scriptul va functiona.
Daca il folosesti de pe calculatoul tau, este o problema, deoarece majoritatea serverelor SMTP nu sunt configurate pe modul "relay", adica nu vor permite utilizatorilor anonimi sa se foloseasca de serviciile lor, tocmai pentru a nu incuraja spam-ul si alte fome de e-mail abuzive. Pentru aceasta va trebui sa instalezi un server SMTP local, pe localhost, de obicei pe portul 25, care va trimite mail-urile.
Sus  
coverdale



Data înscrierii: 12/Iul/2003
Mesaje: 2

Trimis: Dum Iul 13, 2003 4:13 pm    Titlul subiectului:  

Am incercat sa rulez scriptul de pe as.ro. Am sters "smtp.as.ro" dar degeaba, cand incerc sa rulez scriptul nu imi apare nimic. Cred ca sintaxa e gresita, imi poti spune unde gresesc?
Sus  
saschart



Data înscrierii: 04/Iul/2003
Mesaje: 73

Trimis: Vin Iul 18, 2003 11:36 am    Titlul subiectului:  

Salut,

Dupa cate stiu as.ro au dezactivat functia mail()
O problema asemanatoare am si eu, nu pot trimite mailuri de pe Windows din calculatorul meu cu functia mail() daca adresa la care trimit nu este pe serverul smtp setat in php.ini
Am incercat si varianta cu server SMTP local cu acelasi rezultat :?
Sus  
MihaiV



Data înscrierii: 09/Aug/2003
Mesaje: 33

Trimis: Sâm Aug 09, 2003 11:02 pm    Titlul subiectului:  

incearca phpmailer. eu am testat o pagina pe 3x.ro sa trimit mail via smtp (mail() e dezactivata) si desi initial n-a mers, am incercat recent si a mers fara probleme. insa trebuie copiate clasele pe server si un pic prelucrate.
Sus  
saschart



Data înscrierii: 04/Iul/2003
Mesaje: 73

Trimis: Mie Aug 13, 2003 4:37 pm    Titlul subiectului:  

Este aici o clasa care merge pe serverele smtp pe care le-am incercat chiar fara autentificare, insa nu trimite mail format html, cel putin eu n-am reusit, daca reuseste cineva sa-mi spuna si mie, sau poate alt script...

Mihai tu ai incercat sa trimiti in format html ?
Sus  
MihaiV



Data înscrierii: 09/Aug/2003
Mesaje: 33

Trimis: Mie Aug 13, 2003 10:21 pm    Titlul subiectului:  

da, cu phpmailer poti trimite si Html si plain text. de fapt poti trimite ambele in caz ca clientul de mail nu cunoaste html. daca imi dai adresa de mail, iti pot trimite un test
Sus  
saschart



Data înscrierii: 04/Iul/2003
Mesaje: 73

Trimis: Joi Aug 14, 2003 9:19 am    Titlul subiectului:  

emailul meu: webcreation@go.ro
Sus  
MihaiV



Data înscrierii: 09/Aug/2003
Mesaje: 33

Trimis: Joi Aug 14, 2003 9:56 pm    Titlul subiectului:  

Se pare ca nu merge sa transmit mail decit unei adrese de pe serverul pe care il folosesc.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community