ugrás a tartalomhoz

PHPMailer hiba hiba nélkül

aky22 · 2011. Dec. 7. (Sze), 21.27
Kicsit fura a cím, de jobban nem tudtam megfogalmazni. Van egy honlapom amin van egy üzenetküldő. Ma jelentették be, hogy nem működik. Ránéztem, és meglepő hiba fogadott. Fehér kép a forrásban sincs semmi. Utána ránéztem a kódra bekapcsoltam minden hibakijelzést, de semmi változás. Nem tudom hol induljak el. A beállítások jók a HTML jó és csak egyik pillanatról a másikra behalt. Az oldal http://atvaltoztatjuk.net Ha van időtök lécci nézzetek rá. Köszi.
 
1

Mi nem műxik?

Pepita · 2011. Dec. 7. (Sze), 21.41
Az oldal, vagy az üzenetküldés?
Fehér kép a forrásban sincs semmi.

Ha te a nagy semmit kapod, mit nézzünk mi rajta?
Valami forráskódfélét idebiggyeszthetnél! (Nem az egészet, csak azt a részt, ami szerinted rossz.)
2

Ez a probléma, hogy nem tudom

aky22 · 2011. Dec. 7. (Sze), 21.44
Ez a probléma, hogy nem tudom mi a rossz. Gmailes a cucc és minden hibaüzenetet bekapcsoltam de nem jelenik meg semmi. Ha viszont nem írok be valamit, akkor az else ág lefut és kiírja a hibát.
3

Annyi megvan, hogy

aky22 · 2011. Dec. 7. (Sze), 21.46
Annyi megvan, hogy szerverhiba lesz. Localhoston megy a szerveren nem :/
4

???

Pepita · 2011. Dec. 7. (Sze), 21.48
Te szerinted én, vagy valaki nálam hozzáértőbb ennyiből megmondja?
Hogyan?!
Próbáld már ki:
Leírtam a papíromra valamit. Itt van az asztalomon, de nem tudom elolvasni. Mondd meg, mit nem tudok elolvasni!
5

Oké értem. Itta kódrészlket:

aky22 · 2011. Dec. 7. (Sze), 21.53
Oké értem. Itta kódrészlket:
if (isset($_POST['send']))
	{
		if (isset($_POST['email']) && !empty($_POST['email']))
		{
			if (isset($_POST['text']) && !empty($_POST['text']))
			{
				$email=$_POST['email'];
				$text=$_POST['text'];
				//-------------PHPMAILER------------------//
							error_reporting(E_ALL);
								error_reporting(E_STRICT);

								date_default_timezone_set('Europe/Budapest');

								require_once('/mail/PHPMailer_v5.1/class.phpmailer.php');
								//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

								$mail             = new PHPMailer();

								$body             = file_get_contents('/mail/PHPMailer_v5.1/examples/contents.html');
								$body             = eregi_replace("[\]",'',$body);

								$mail->IsSMTP(); // telling the class to use SMTP
								$mail->Host       = "localhost"; // SMTP server
								$mail->SMTPDebug  = 1;                     // enables SMTP debug information (for testing)
																		   // 1 = errors and messages
																		   // 2 = messages only
								$mail->SMTPAuth   = true;                  // enable SMTP authentication
								$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
								$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
								$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
								$mail->Username   = "valami##kukac##gmail.com";  // GMAIL username
								$mail->Password   = "*************";            // GMAIL password

								$mail->SetFrom($email);

								$mail->AddReplyTo($email);

								$mail->Subject    = 'Üzenet a honlapról';

								$mail->MsgHTML($text);

								$mail->AddAddress('valami##kukac##gmail.com');


								if(!$mail->Send()) {
								  echo "Mailer Error: " . $mail->ErrorInfo;
								} else {
									echo '<p>Levél elküldve!</p>';
								}
								//-------------/PHPMAILER------------------//
			}
			else
			{
				echo '<p class="error">Nincs elküldendő üzenet!</p>';
			}
		}
		else
		{
			echo '<p class="error">Nem adott meg e-mail címet</p>';
		}
	}
Be van kapcsolva minden és nem is dob hibát (nem is kell neki elvileg) az else ág pedig lefut. Localhoston működik elküldi a levelet pöpec szerveren meghal.
6

Display errors

Poetro · 2011. Dec. 7. (Sze), 22.04
Kezdjük azzal, hogy nem látom, hogy be lenne-e kapcsolva a hibák kiírása.
ini_set('display_errors', 1);
És eleve a hibák kijelzésével kellene kezdeni a PHP fájlt.
Valamint ha már hibajelentés, akkor legyen inkább
error_reporting(E_ALL);
Az E_STRICT sor egyelőre kimaradhat.
7

Ha

Pepita · 2011. Dec. 7. (Sze), 22.22
- A szerveren is működött már és nem állítottál át semmit, akkor tényleg szerver történet lesz, -> Rendszergazdi.
- Én egy-két emailt (vagy max 10.) sima php mail() fv.-el küldök, nem kell vele ennyit vacakolni, nem kell külső osztály, stb.
- Ezt az osztályt én még nem használtam, furcsa, hogy host-ot, portot, stb. mindent be kell állítani. Ezek tuti jók? CSak tippelem, hogy nem, de akkor még egyszer sem működött a szerveren, ami gyanús lenne. (Én amit felteszek, rögtön végigpróbálok rajta mindent, főleg az ilyesmit. Ha nem műxik, már le is kapom róla a domaint/linket, aztán keresek hibát.)

Ismerős pedig az osztály, később utánanézek, de most csak tippelni tudtam, bocs. Remélem a nagyobbak is ránéznek.

Ja, és melyik else ág fut le?
12

Kicsit utánanéztem...

Pepita · 2011. Dec. 8. (Cs), 00.19
11-12. sor: $body változóba raksz cuccokat, de az ott is marad. A $mail->Body és a $mail->AltBody nem kapnak semmilyen értéket, tehát a levél ha el is megy, üres lesz.
A $body változót nem is használod semmire (ebben a kódrészletben), csak értéket adsz neki.
26: $mail->MsgHTML($text); nem tudom mi, lehet, hogy a $mail->Body megfelelője, csak a cikkben régebbi verzió van?
Szóval ajánlom erre a sima mail()-t, vagy esetleg próbáld ki smtp nélkül, csak feladóval. Ha úgy elmegy, akkor ott nem jó valami. (Host, port, vagy pl. nem kell auth., stb.)
8

Olvasd el:

Pepita · 2011. Dec. 7. (Sze), 23.29
9

Szintaktikai hibáknál szokott

csla · 2011. Dec. 7. (Sze), 23.58
Szintaktikai hibáknál szokott gyakran előfordulni, hogy 500-as hibát kapsz vissza. Az éles kódban is "emptyempty"-k szerepelnek, vagy csak ebben?
10

"emptyempty"

Pepita · 2011. Dec. 8. (Cs), 00.00
Asszem ez a colorer hibája.
11

A galád! :)

csla · 2011. Dec. 8. (Cs), 00.11
A galád! :)
13

Most látom:

Pepita · 2011. Dec. 8. (Cs), 00.35
Nem is olyan rég ez már volt felvetett témád.
Akkor sem jártál rendesen a végére (legalábbis nem írtad oda).
A szerveren a php-verzió megvan?
14

Most látom:

Pepita · 2011. Dec. 8. (Cs), 00.40
Nem is olyan rég ez már volt felvetett témád.
Akkor sem jártál rendesen a végére (legalábbis nem írtad oda).
A szerveren a php-verzió megvan?

Szerk.:
Nem tudom ebből hogy sikerült kettőt, lécci törölje aki tudja!
15

Igen ott is hasonló téma volt

aky22 · 2011. Dec. 8. (Cs), 08.02
Igen ott is hasonló téma volt de nem konkrétan ez és ott azt hiszem megoldódott csak nem írtam ki. Amúgy igen valószínűleg szerverhiba lesz mivel ezekkel a beállításokkal localhoston működik. Kipróbáltam másik Google account-al is de azzal sem ment. Írtam az üfsz-en ha visszaírnak okosabb leszek (remélhetőleg)
16

további hibák: -az smtp-t

szabo.b.gabor · 2011. Dec. 8. (Cs), 08.55
további hibák:
-az smtp-t támogató include ki van kommentelve.
-smtp host localhost az 90% nem lesz jó.. gyanítom nem nagyon vágod ezt a levelezés hogyan megyen dolgot. google smtp ebben elvileg megkapod a választ normális smtp beállításra. de szerintem adj egy esélyt sima sendmail-nek is..
17

Az smtp ki van kommentelve

aky22 · 2011. Dec. 9. (P), 13.21
Az smtp ki van kommentelve mert a phpmailer-be bele van építve. Localhoston működik!!! Szerveren eddig ment most nem megy. A levelezést pedig értem és jól van bekonfigolva. Eddig mindenhol működött. Most a honlapomat ezzel raktam össze, tökéletesen megy. A Sima sendmail-t pedig egy kínszenvedés bekonfigurálni. Csak a szívás van a fejlécekkel. Régen azt használtam, nem tudott a szívembe férkőzni.
18

Php mail

flamander · 2011. Dec. 14. (Sze), 09.03
Sziasztok. Szeretnék segítséget kérni tőletek. Van egy olyan problémám, hogy van egy kitölthető űrlapom, amit szeretnék a honlapomon működtetni. Szeretném, ha kitöltik az adatlapot, akkor elküldje az e-mail címemre. Sajnos nem értek a php-hez ezért kérném a segítségeteket, hogy legyen egy sendmail nevű php fájlom ami elküldi azadatlapot a címemre. Rengeteg ilyen php fájlt találtam, de nem tudom hogy mit kell beállítani, hogy az űrlap tartalmát küldje el. Nagyon köszönném ,ha segítene valaki, mert nagyon fontos lenne. Köszönöm előre is a segítőkészséget.
Itt az adatlapom:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>Törzsvásárlói regisztráció</title>

<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />


<script src="js/jquery-1.2.6.js" type="text/javascript" charset="utf-8"></script>
<script src="js/form-fun.jquery.js" type="text/javascript" charset="utf-8"></script>

<!--[if IE]>
<style type="text/css">
legend {
position: relative;
top: -30px;
}

fieldset {
margin: 30px 10px 0 0;
}
</style>

<script type="text/javascript">
$(function(){
$("#step_2 legend").css({ opacity: 0.5 });
$("#step_3 legend").css({ opacity: 0.5 });
});
</script>
<![endif]-->
</head>


<body>

<div id="page-wrap">

<h1>Törzsvásárlói <span>regisztráció</span></h1>

<form action="contactengine.php" method="post">

<fieldset id="step_1">

<legend>1. lépés</legend>

<label for="num_attendees">
Személyes adatok megadása.
</label>
<select id="num_attendees">
<option id="5" value="0">Kérjük válasszon</option>
<option id="opt_6" value="6">nem</option>
<option value="5">igen</option>
</select>

<br />

<div id="attendee_1_wrap" class="name_wrap push">
<h3>Kérjük adja meg az alábbi adatokat:</h3>

<label for="name_attendee_1">
Név:
</label>
<input type="text" id="name_attendee_1" class="name_input"></input>
</div>

<div id="attendee_2_wrap" class="name_wrap">
<label for="name_attendee_2">
E-mail cím:
</label>
<input type="text" id="name_attendee_2" class="name_input"></input>
</div>

<div id="attendee_3_wrap" class="name_wrap">
<label for="name_attendee_3">
Irányítószám:
</label>
<input type="text" id="name_attendee_3" class="name_input"></input>
</div>

<div id="attendee_4_wrap" class="name_wrap">
<label for="name_attendee_4">
Település:
</label>
<input type="text" id="name_attendee_4" class="name_input"></input>
</div>

<div id="attendee_5_wrap" class="name_wrap">
<label for="name_attendee_5">
Utca, házszám:
</label>
<input type="text" id="name_attendee_5" class="name_input"></input>
</div>

<div id="attendee_6_wrap" class="name_wrap">
<label for="name_attendee_6">
<a href="http://www.gregcopy.hu/kezdo.html">Vissza az oldalra</a> </label>

</div>

</fieldset>

<fieldset id="step_2">

<legend>2. lépés</legend>

<p>
Telefonszám megadása.</p>


<input type="radio" id="company_name_toggle_on" name="company_name_toggle_group"></input>
<label for="company_name_toggle_on">Igen</label>
&emsp;
<input type="radio" id="company_name_toggle_off" name="company_name_toggle_group"></input>
<label for="company_name_toggle_off">Nem</label>

<div id="company_name_wrap">
<label for="company_name">
Telefonszám:
</label>
<input type="text" id="company_name"></input>
</div>

<div class="push">
<p>
Kérjük válasszon, hogy meg van e elégedve a törzsvásárlói kártya által nyújtott kedvezménnyel.</p>

<input type="radio" id="special_accommodations_toggle_on" name="special_accommodations_toggle"></input>
<label for="special_accommodations_toggle_on">Nem</label>
&emsp;
<input type="radio" id="special_accommodations_toggle_off" name="special_accommodations_toggle"></input>
<label for="special_accommodations_toggle_off">Igen</label>
</div>
<div id="special_accommodations_wrap">
<label for="special_accomodations_text">
Saját ötletét írja meg nekünk:
</label>
<textarea rows="10" cols="10" id="special_accomodations_text"></textarea>
</div>

</fieldset>

<fieldset id="step_3">
<legend>3. lépés</legend>

<label for="rock">
Elolvastam és elfogadom az <a href="http://www.gregcopy.hu/ASZF.pdf">ÁSZF</a>-et. Kérjük fáradjon be üzletünkbe Tözsvásárlói kártyájáért.</label>
<input type="checkbox" id="rock"></input>

<input type="submit" id="submit_button" class="push" value="Regisztráció befejezése"></input>
</fieldset>

</form>

</div>

</body>

</html>
19

Hello flamander!

Pepita · 2011. Dec. 16. (P), 02.33
Látom új vagy.
1. Mielőtt megírod a hozzászólásodat/új témádat, nézd meg a További lehetőségeket!
Senki sem olyan fakír, hogy így hámozza ki a kódodat. [colorer]
2. Ez már egy új témát megérne, mert kissé eltér az indulótól, és - ne haragudj érte - jó lenne, ha aztán más kezdő is megtalálná később.
3. Takarítsd ki a kódodat, a kérdésedhez csak a form és a benne lévő beviteli mezők kellenek, itt senki nem kíváncsi rá, hogy milyen jQuery csili-vilit raksz köré, stb. Ezeket ha csak egy mód van rá, mindig hagyd a végére, elsőre legyen elég, ha működik!
4. Ne nagyon várd, hogy megírjuk a kódot helyetted. Ha érdekel amit csinálsz, akkor nézz utána (ebben segítünk), ha meg nem, akkor ne csináld.
5.
Rengeteg ilyen php fájlt találtam
Ezt a módszert - szerintem - máris felejtsd el. Ha érteni (is) akarod a dolgot, akkor csináld te az elejétől végig, ha meg nem akarod, akkor bízz meg valakit.
6. Azért itt van a legegyszerűbb php függvény e-mail küldéséhez, de javaslom, hogy töltsd le a kézikönyvet és alaposan tanulmányozd! (Régebben én találtam félig magyarra fordított angolt is, de már nem tudom, hol.)
Üdv. Pepita.