Jak połączyć PHPmailera ze stroną na serwerze hostingowym?


(janusz_pro) #1

Witam

Zastanawiam się w jaki sposób mogę dodać PHPMailera do strony która znajduje się na serwerze hostingowym. Chodzi mi też tutaj o to, że trzeba użyć composera by wygenrować np. plik autoload.php

I czy w PHPmailerze trzeba używać SMTP? Nie może być bez tego?

Poniżej mam kod w html i do tego kodu zaincludować plik PHPMailer ale co dalej?

<div class="container">

Skontaktuj się z nami

<div class="messages"></div>

<div class="controls">

    <div class="row">
        <div class="col-md-6">
            <div class="form-group">
                <label for="form_name">Imię</label>
                <input id="form_name" type="text" name="name" class="form-control" placeholder="Proszę podać imię *" required="required" data-error="Firstname is required.">
                <div class="help-block with-errors"></div>
            </div>
        </div>
        <div class="col-md-6">
            <div class="form-group">
                <label for="form_lastname">Nazwisko</label>
                <input id="form_lastname" type="text" name="surname" class="form-control" placeholder="Proszę podać nazwisko *" required="required" data-error="Lastname is required.">
                <div class="help-block with-errors"></div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-6">
            <div class="form-group">
                <label for="form_email">Email *</label>
                <input id="form_email" type="email" name="email" class="form-control" placeholder="Proszę podać email *" required="required" data-error="Valid email is required.">
                <div class="help-block with-errors"></div>
            </div>
        </div>
            <div class="col-md-6">
            <div class="form-group">
                <label for="form_message">Numer oferty</label>
                <input id="form_message" type="text" name="message1" class="form-control" placeholder="Proszę podać numer oferty *" required="required" data-error="Valid email is required.">
                <div class="help-block with-errors"></div>
            </div>
        </div>
        <div class="col-md-6">
            <div class="form-group">
                <label for="form_phone">Telefon</label>
                <input id="form_phone" type="tel" name="phone" class="form-control" placeholder="Proszę podać telefon">
                <div class="help-block with-errors"></div>
            </div>
        </div>
		
		<div class="col-md-6">
            <div class="form-group">
                <label for="form_file">CV</label>
                <input id="form_file" type="file" name="file" class="form-control" placeholder="CV">
                <div class="help-block with-errors"></div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <div class="form-group">
                <label for="form_message">Wiadomość</label>
                <textarea id="form_message" name="message" class="form-control" placeholder="Wpisz tekst wiadomości *" rows="4" required="required" data-error="Please,leave us a message."></textarea>
                <div class="help-block with-errors"></div>
            </div>
        </div>
        <div class="col-md-12">
            <input type="submit" class="btn btn-success btn-send" value="Wyślij wiadomość">
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <p class="text-muted"><strong>*</strong> Pola wymagane</p>
        </div>
    </div>
</div>

(zbyyy) #2

Cytat “Zastanawiam się w jaki sposób mogę dodać PHPMailera do strony która znajduje się na serwerze hostingowym. Chodzi mi też tutaj o to, że trzeba użyć composera by wygenrować np. plik autoload.php”

ja to dodawałem bezpośrednio po kodzie ale widze na GitHubie jest instrukcja jak to zrobić przez Composera

Cytat I czy w PHPmailerze trzeba używać SMTP? Nie może być bez tego?

Smtp to serwer poczty wychodzącej … jeśli chcesz coś wysłać pocztą przez PHPMailera no to bez tego się nie obejdzie

Cytat Poniżej mam kod w html i do tego kodu zaincludować plik PHPMailer ale co dalej?

Tutaj nie wiem o co chodzi… Wnioskuje że treść tego formularza ma zostać wysłana mailem tak ?
Jeśli tak to musisz najpierw skonfigurować SMTP w kodzie swojej strony używając do tego celu metod PHPMailera… na gitHubie masz również podane jak masz to osadzić na stronie i zrobić konfigurację


(janusz_pro) #3

OK. Ale skąd wziąć plik autoload.php bez komposera?


(zbyyy) #4

Nie rozumiesz widzę. Jeśli chcesz użyć PHPMailera czyli całej biblioteki która ma Ci umożliwić łatwe wysyłanie maili z twojej strony to możesz to zrobić na 2 sposoby:

a) Sciągnąć pliki PHPMailera ze strony i dodać ręcznie do swojej strony (tak jak pisałem wcześniej opis jak to zrobić manualnie możesz znaleść na gitHubie i/lub stronie twórców paczki)

b) do instalacji biblioteki PHPMailera możesz użyć również Composera który za ciebie pobiera paczkę PHPMailera i ją instaluje na twojej stronie. To wtedy Composer generuje dla ciebie plik autoload.php którego musisz użyć aby paczka PHPMailera była wczytywana do twojej strony.

Teraz podam Ci przykład jak ja użyłem Composera do instalacji Twiga (z PHPMailerem będzie podobnie) na mojej stronie www (to taki silnik renderujący).
Kroki:

  1. Pobrałem Composera i zainstalowałem w katalogu vendors mojej strony (to katalog w którym trzymam komponenty innych twórców z których korzysta moja strona)
  2. Po instalacji Composera w konsoli systemowej za pomocą poleceń Composera zainsalowałem sobie Twiga. To composer tworzy odpowiedni plik autoload.php.
  3. Ostatnim krokiem instalacji Twiga na stronie było umieszczenie we front controllerze kodu, który będzie ładował całego Twiga za pomocą właśnie pliku autoload.php.
    kod wyglądał następująco:
    require_once dirname(DIR) . ‘/vendor/autoload.php’;
    $loader = new Twig_Loader_Filesystem( dirname(DIR) . ‘/App/Views’);

Jak wspomniałem wyżej proces instalacji PHPMailera przez Composer’a bedzie podobny do tego jaki ci zaprezentowałem dla Twiga.

Z tego co wiem to dostęp do autoload.php masz jeśli instalujesz PHPMailera przez Composera czyli drugim sposobem o którym pisałem.

Wszelkie informacje co i jak zrobić masz pod adresem