Diskuze: Problém s phpmailerem
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 28 zpráv z 28.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Jestli hosting má podporu tak jim to tam napiš 
Nebo zkus např. toto:
<?php
$to = "[email protected]";
$subject = 'PHP mail test';
$message = 'Hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
Když to nebude fungovat tak sem napiš co ti to napíše 
Ale to je funkce mail . Tahle funkce se už moc nepoužívá a e-maily už ji někdy ani nezobrazí , protože můžuš prakticky z kohokoliv účtu poslat komukoliv , jakoukoliv zprávu .
To není úplně pravda, mail() je spíš neohrabaná než zastaralá. Kdybys poslal mail se správnými hlavičkami, nebude s tím mít žádný klient problém.
Class not found znamená, že není načtený ten soubor s třídou. Jakým
způsobem máš ten phpmailer nainstalovaný? Přes composer? Prostě sis stáhl
zip?
Jaký máš autoloader?
To je informace celkem k ničemu. PhpMailer má sekci pro instalaci - https://github.com/…er/PHPMailer#… . Co z toho používáš?
require (ewww..) ?Používám framework , ale dělám to přes workspace .
Ok, ale pořád jsi nám prakticky nic neřekl. Jestli chceš, aby ti bylo
pomoženo, musíš tomu jít naproti - ideálně tím, že řekneš třeba co to
je za framework a jak načítáš třídy. Načítání tříd je naprosto
klíčová informace, bez které nemá smysl pokračovat. Pokud nemáš zdání,
co po tobě vlastně chci, přihoď sem ukázku nějaké stránky (vyhaž z toho
konkrétní obsah, zajímavý je většinou především PHP začátek
souborů.
PS: jaký workspace? Neznám to a google vyhodil akorát SW pro management času
v týmu...
$mail = new \PHPMailer\PHPMailer\PHPMailer
To používám a taky
namespace PHPMailer\PHPMailer;
/**
* PHPMailer - PHP email creation and transport class.
*
* @author Marcus Bointon (Synchro/coolbru) <[email protected]>
* @author Jim Jagielski (jimjag) <[email protected]>
* @author Andy Prevost (codeworxtech) <[email protected]>
* @author Brent R. Matzelle (original founder)
*/
class PHPMailer
To je na phpmaileru 
Rozuměj, že ti nemohu poradit, když nám neřekneš, jak načítáš třídy. Zbytek jen jen omáčka, která může a nemusí pomoct.
A funguje to
Ano, ale ne samo od sebe, PHP tak nefunguje. Něco to musí načítat, proto buď musíš psát pro každou třídu require a zbláznit se z toho, nebo máš autoloader - ten buď zajišťuje framework, composer, nebo máš vlastní řešení.
Toto používám -
function __autoload($class) {
$pathUpperCase = str_replace('\\', '/', $class);
$pathArray = explode("/", $pathUpperCase);
$className = array_pop($pathArray) . '.php';
foreach ($pathArray as &$value) {
$value = strtolower($value);
}
$path = implode("/", $pathArray);
if (file_exists($path . "/" . $className)) {
require $path . "/" . $className;
return true;
} else {
return false;
}
}
Sry , já jsem chvíli nechápal . Autoloader jsem sem už poslal .
Otazka znela, mas nactenou tridu? Viz treba:
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
Jak to myslíš? ( Já nejsem moc v php pokročilý takže nějaké věci nemusím vědět )
Ja toho nevim...
V phpinfo() se koukni, zda mas tridu co chces pouzivat spustenou uz pri startu serveru. Na localhostu ji muzes mit spustenou, ale treba na freehostingu muze byt zakazana, nebo jen nespustena. Pak tu tridu musit umistit do slozky stranek a pred pouzitim ji spustit. Trebas tak jak jsem psal.
Ale to ti psal uz Petr Cech. Kdyz se ptas, tak zkus cist i odpovedi...
Jinak se spousti tak, jak jsem ti psal...
Ale , stává se mi tato chyba jen u importovaných scriptů ( které jsem nenapsal já )
Zobrazeno 28 zpráv z 28.