Autor | Zpráva | ||
---|---|---|---|
_fantomas Profil |
#1 · Zasláno: 5. 1. 2015, 20:50:09
Ahoj, viem že toto nieje PHPMailer podpora ale radšej sa spýtam tu kto s tím má skúsenosť nech mi prosím poradí.
Napojil som si skript PHP Mailer asi takto require("class.phpmailer.php"); $mail = new PHPMailer(); $mail->isSMTP(); // k odeslání e-mailu použijeme SMTP server $mail->Host = "smtp.gmail.com"; // zadáme adresu SMTP serveru $mail->SMTPAuth = true; // nastavíme true v případě, že server vyžaduje SMTP autentizaci $mail->Username = "**********"; // uživatelské jméno pro SMTP autentizaci $mail->Password = "**********"; // heslo pro SMTP autentizaci $mail->From = "********"; // adresa odesílatele skriptu $mail->FromName = "Testovací skript"; // jméno odesílatele skriptu (zobrazí se vedle adresy odesílatele) $mail->AddAddress("*********"); // přidáme příjemce //$mail->AddAddress("druhy.prijemce@example.net", "Jméno druhého příjemce"); // a klidně i druhého, včetně jména $mail->Subject = "První mail poslaný pomocí PHPMaileru"; // nastavíme předmět e-mailu $mail->Body = "Ahoj ahoj!\n\n Posílám ti první svůj první e-mail přes PHPMailer."; // nastavíme tělo e-mailu $mail->WordWrap = 50; // je vhodné taky nastavit zalomení (po 50 znacích) $mail->CharSet = "utf-8"; // nastavíme kódování, ve kterém odesíláme e-mail if(!$mail->Send()) { // odešleme e-mail echo 'Došlo k chybě při odeslání e-mailu.'; echo 'Chybová hláška: ' . $mail->ErrorInfo; } else { echo 'E-mail byl v pořádku odeslán.'; } Celé je to napojené na formulár ktorý po vyplnení a odoslaní vypíše toto : Notice: Undefined variable: mail in C:\xampp\htdocs\develop\Game\includes\register.php on line 70 Fatal error: Call to a member function isSMTP() on null in C:\xampp\htdocs\develop\Game\includes\register.php on line 70 BTW: ak by sa niekto pytal na aky formular tak na registračný, funguje ako má až na ten php mailer neviem kde je problem :? |
||
tiso Profil |
#2 · Zasláno: 5. 1. 2015, 20:57:19
_fantomas: chybová hláška hovorí jasne - premenná $mail na tom riadku 70 neexistuje. Ukáž čo je medzi
$mail = new PHPMailer(); $mail->isSMTP(); |
||
Zechy Profil |
#3 · Zasláno: 5. 1. 2015, 20:57:58
A nemáš předtím ještě něco? Dle první hlášky ve chvíli, kdy chceš pracovat s tím mailerem, tak proměnná mail neexistuje, čímž vzniká i druhá chyba.
|
||
_fantomas Profil |
#4 · Zasláno: 5. 1. 2015, 21:01:45
Zistil som že som neinxludoval subot class.smtp.php no ked som spustil skript znovu napísalo to
Došlo k chybě při odeslání e-mailu.Chybová hláška: SMTP connect() failed. Problém bude asi v spojení ale v akom? SMTP mám snaď dobré nastavené $mail->isSMTP(); // k odeslání e-mailu použijeme SMTP server $mail->Host = "smtp.gmail.com"; // zadáme adresu SMTP serveru $mail->SMTPAuth = true; // nastavíme true v případě, že server vyžaduje SMTP autentizaci $mail->Username = "tu mam svoj email ktorý to posiela"; // uživatelské jméno pro SMTP autentizaci $mail->Password = "heslo od emailu"; // heslo pro SMTP autentizaci $mail->From = "znovu moj email"; // adresa odesílatele skriptu $mail->FromName = "Testovací skript"; // jméno odesílatele skriptu (zobrazí se vedle adresy odesílatele) $mail->AddAddress("email komu to ma prist"); // přidáme příjemce |
||
Zechy Profil |
_fantomas:
Měl by jsi nastavit ještě port, u Googlu se používá port 465 a né výchozí, který využívá SMTP. Navíc, já mám ještě nastavené, že se musím připojovat přes SSL, tedy zabezpečené připojení. Navíc ti GMail pošle upozornění, že se tvůj účet snaží použít méně bezpečná aplikace s odkazem na povolení, aby méně bezpečné aplikace jej mohli používat. |
||
_fantomas Profil |
#6 · Zasláno: 5. 1. 2015, 21:05:39
a ako nastavim to SSL?
|
||
Zechy Profil |
#7 · Zasláno: 5. 1. 2015, 21:07:54
_fantomas:
Přímo PHPMailer nepoužívám, tudíž se budeš muset podívat někam do jejich dokumentace jak nastavit SSL. |
||
_fantomas Profil |
#8 · Zasláno: 5. 1. 2015, 21:10:29
Použil som ten port 465 obnovil stránku a skript neustále niečo robí nenapísal žiadnu chybu ale stránka sa proste stále načítava
|
||
Zechy Profil |
#9 · Zasláno: 5. 1. 2015, 21:12:22
_fantomas:
Občas to není nejrychlejší, navíc teď to bude zjevně váznout na tomto: „Navíc ti GMail pošle upozornění, že se tvůj účet snaží použít méně bezpečná aplikace s odkazem na povolení, aby méně bezpečné aplikace jej mohli používat.“ Takže bys měl kontrolovat mail. |
||
_fantomas Profil |
#10 · Zasláno: 5. 1. 2015, 21:35:06
Problém vyriešený, vdaka za váš čas.
|
||
pcmanik Profil |
#11 · Zasláno: 5. 1. 2015, 22:24:52
_fantomas:
„a ako nastavim to SSL?“ $mail->SMTPSecure = 'ssl'; „Problém vyriešený, vdaka za váš čas.“ Ako si to nakoniec vyriešil? Býva slušnosťou napísať riešenie keby mal niekto podobný problém. |
||
_fantomas Profil |
#12 · Zasláno: 6. 1. 2015, 12:10:48
pcmanik:
čo vlastne znamená ta SSL ochrana a k čomu vlastne je? Vyriešil som to použitím portu ktorý používa google 587 |
||
Zechy Profil |
#13 · Zasláno: 6. 1. 2015, 12:13:24
_fantomas:
Je to jako jít na web s HTTPS, prostě se data zašifrují, aby ti nikdo neodchytil heslo. |
||
_fantomas Profil |
#14 · Zasláno: 6. 1. 2015, 12:19:02
čítal som na tom už na wiki, a ta funkcia mi zabezpečí aby som mal stranku na https alebo posila len ak mam https?
inač som zatiaš na localhoste kym nieje projekt hotový. |
||
Zechy Profil |
#15 · Zasláno: 6. 1. 2015, 12:20:06
_fantomas:
Zabezpečí se prostě spojení na SMTP server. HTTPS jsem uvedl jako příklad. |
||
_fantomas Profil |
#16 · Zasláno: 6. 1. 2015, 12:25:07 · Upravil/a: _fantomas
Ako defaultna bola nastavena tls ktorú odporúčate vy?
- Po použiti toho prikladu pcmanik: „$mail->SMTPSecure = 'ssl';“ Mi skript po spustení napísal connectFailed takže to asi na localhoste nebude možné, no neriešil by som to, tls mi stačí, skript funguje, tému považujem za vyriešenú |
||
Časová prodleva: 3 dny
|
|||
Šéva Profil |
#17 · Zasláno: 9. 1. 2015, 14:50:55
_fantomas:
„Ako defaultna bola nastavena tls ktorú odporúčate vy?“ Vzhledem k tomu, že se v SSL našla bezpečnostní chyba a většina serverů, které o této chybě vědí přecházejí na TLS, tak bych určitě používal TLS. A jelikož na tuto chybu přišel Google, tak samozřejmě hned SSL zakázal a přešel na TLS, takže SSL už ani nezkoušej. Co jsem četl, tak se postupně odstraní i podpora z prohlížečů atd... |
||
Časová prodleva: 9 let
|
0