Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHPMailer 6 Instrukcja
Forum PHP.pl > Forum > Gotowe rozwiązania
Malinaa
Witam,
ściągnąłem PHPMailer'a w wersji 6.0.0 trochę różni się od starszych wersji i nie wiem o co chodzi tutaj z takim przykładowym kodem użycia require 'PHPMailerAutoload.php'; kiedy po rozpakowaniu nie ma w paczce takiego pliku jak PHPMailerAutoload.php jest tylko PHPMailer.php
Proszę o przykład i info o co chodzi z plikiem ...Autoload? Jak poprawnie skonfigurować i uruchomić PHPMailer w wersji 6 i wyższej?


viking
Stosuj composera i problem z głowy. Poza tym gdzie tutaj https://github.com/PHPMailer/PHPMailer masz cokolwiek o PHPMailerAutoload.php?
Malinaa
Cytat
Stosuj composera i problem z głowy.

Kiedyś zainstalowałem Composera bo byłem ciekaw Symfony, gdzieś jest na kompie, ale jak go stosować?

Podaj proszę konkretny przykład krok po kroku dla PHPMailer 6 i problem będzie z głowy.
viking
Kompletny przykład masz w podanej wyżej dokumentacji plus dokumentacja composera. Robisz require załączasz autoload do projektu i używasz.
Malinaa
Dokumentacja PHPMailera wydaje się być zrozumiała, ale co zrobić z Composerem nie kumam?
Powstaje też pytanie, kiedy skrypt kontakt.php piszę na localhost, a dalej jak użyć i zastosować całość na serwerze z Composerem?
viking
W najprostszej postaci przegrywasz wszystko przez ftp. Nie kumasz czego? Tego jednego polecenia czy instalacji?
Malinaa
Wystarczy przegrać przez FTP i Composer też będzie działał, więc super!

Nie kumam np. co z plikiem composer.json gdzie on, co, jak
i podobnie jak na początku pisałem problem z autoload?

U nie po wklejeniu Simple Example ze strony PHPMailera mam błąd:
Fatal error: require(): Failed opening required 'vendor/autoload.php'
viking
Trzeba by jeszcze podać poprawną ścieżkę do pliku ale to już podstawy używanego systemu operacyjnego.
Malinaa
Czy sądzisz, że nie podałbym poprawnej ścieżki gdybym wiedział gdzie jest plik Autoload wymagany do działania PHPMailera?

Jak się domyślam po instalacji Composera powinienem mieć plik autoload.php - gdzie on jest?

Jak zastosować Composera, plik jest gdzieś na serwerze? Szukam i nic nie znajduje, co, jak z tym Composerem i vendor autoload?
viking
Jest w vendor/autoload.php.
https://getcomposer.org/doc/01-basic-usage.md
Malinaa
Composer! Jak zastosować w PHPMailer 6? Help vendor/autoload.php ?
viking
Raczysz przeczytać cokolwiek z dokumentacji?

Z wiersza poleceń: composer require phpmailer/phpmailer, composer update
w pliku gdzie chcesz używać:

require 'vendor/autoload.php';

... nowa instancja klasu.
Malinaa
Wcześniej czytałem na szybko, teraz próbowałem ze zrozumieniem,
sorry, ale jest jakiś drobiazg, którego "nie widzę" i nie wiem jak zastosować Composer?

Z wiersza poleceń teoretycznie poszło ok:

Using version ^6.0 for phpmailer/phpmailer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing phpmailer/phpmailer (v6.0.5): Downloading (100%)

ale gdzie jest autoload?

Na localhost mam wiele stron:
localhost/strona1/
localhost/strona2/
localhost/strona3/
...
localhost/moja_domena/ (tu tworze formularz kontakt z phpmailer'a)
...
są też
localhost/Kohana/ (modyfikowałem skrypt w Kohana dla własnych potrzeb)
localhost/Symfony/ (jakiś czas temu zrobiłem tu pierwszy projekt w Symfony i jest tu katalog vendor i autoload.php
jest i katalog composer, ale jak się to ma do instalacji i strony w katalogu moja_domena?

Sorry, chyba tak dawno nie siedziałem w PHP, że Composer mnie powala na łopatki :|

Czy jeśli zrobię coś takiego

// PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require './lib/PHPMailer/src/Exception.php';
require './lib/PHPMailer/src/PHPMailer.php';
require './lib/PHPMailer/src/SMTP.php';

zamiast

//Load Composer's autoloader
require 'vendor/autoload.php';

phpmailer będzie funkcjonował poprawnie?
viking
Skora odpalasz w katalogu moja_domena to chyba oczywiste że szukać należy w katalogu moja_domena. Możesz zrobić 2 sposobem.
Malinaa
ale co odpalam w tym katalogu, chyba tu jest cały problem, bo nic nie odpalam w tym katalogu?
nospor
To miales odpalic z katalogu projektu
Cytat(viking @ 7.08.2018, 13:03:00 ) *
Raczysz przeczytać cokolwiek z dokumentacji?

Z wiersza poleceń: composer require phpmailer/phpmailer, composer update

Malinaa
Gdybym od początku wiedział, że "To" takie proste.

Pojawia się jednak nowy problem (w pliku "załadowanym" przez Composer):

Parse error: syntax error, unexpected '[' in .../lib/vendor/phpmailer/phpmailer/src/PHPMailer.php on line 288

Linia: public $SMTPOptions = [];
i tak z każdą kolejną linią z nawiasem kwadratowym?
nospor
Widac odpalasz composer na baaaaaardzo starej wersji php. Wypadaloby troche zupgradowac
Malinaa
Tak też myślałem, więc sprawdziłem, na serwerze mam ustawioną wersje 5.3.26
na localhost zainstalowana wersja to 5.6.30

Czy jeśli zmienię serwer na wersje 5.6.30 (taką jaką mam na localhost), czy to wystarczy?
nospor
Tak, krotka notacja tablic zostala wprowadzona w php5.4
http://php.net/manual/en/migration54.new-features.php

ps: zas z tego co widze w dokumentacji phpMailer - tak, nie uzywam phpmailer ale potrafie zajrzec do dokumentacji tegoz w przeciwienstwie do ciebie tongue.gif - to phpMailer6 wymaga min php5.5
Malinaa
Zmieniłem PHP na wersje 5.6 i wszystko śmiga.

Mam jeszcze jedno pytanie, używam

//Content
$mail->IsHTML(false);
$mail->Subject = "$subject";
$mail->Body = "$content";
// $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

Jeśli nie używam tu HTML'a jak rozumiem powinienem użyć
zamiast $mail->Body to $mail->AltBody, więc dlaczego z samym AltBody nie działa, jak powinno być?

P.S. Ostatnio używałem angielskiego pięć lat temu, nawet kiedy przeczytałem przeoczyłem,
że "TO" ma być odpalone w lokalizacji katalogu u mnie /lib smile.gif
Pyton_000
Nie, masz użyć po prostu body. A co do angielskiego... no prosszzzz... https://translate.google.pl
Malinaa
Ok. Translator też jest ok kopiuj - wklej smile.gif
Dzięki bardzo za pomoc.
Pyton_000
A gdzie link do polityki prywatności?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.