php.ini & SMTP= - jak podać nazwę użytkownika i hasło

My ISP konto wymaga wysłania nazwy użytkownika i hasła do poczty wychodzącej SMTP.

Jak uzyskać PHP aby użyć tego podczas wykonywania php.mail()? Plik php.ini zawiera tylko wpisy dla serwera (SMTP= ) i From: (sendmail_from= ).

Author: Alive to Die, 2008-09-21

10 answers

PHP mail() polecenie nie obsługuje uwierzytelniania. Twoje opcje:

  1. PHPMailer- Tutorial
  2. gruszka - Tutorial
  3. funkcje niestandardowe - Zobacz różne rozwiązania w sekcji Uwagi: http://php.net/manual/en/ref.mail.php
 41
Author: daremon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-07 13:13:43

Stosuję następujące dane na temat php.plik ini. działa dobrze.

SMTP = smtp.example.com
smtp_port = 25
username = [email protected]
password = yourmailpassord
sendmail_from = [email protected]

Te dane są takie same jak w ustawieniach programu outlook.

 38
Author: sugunan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-08 04:00:14

Użyjfałszywego sendmaila Dla Windows , Aby wysłać pocztę.

  1. Utwórz folder o nazwie sendmail w C:\wamp\.
  2. Rozpakuj te 4 pliki do folderu sendmail : sendmail.exe, libeay32.dll, ssleay32.dll i sendmail.ini.
  3. następnie skonfiguruj C:\wamp\sendmail\sendmail.ini:
smtp_server=smtp.gmail.com
smtp_port=465
[email protected]
auth_password=your_password
  1. Powyższe będzie działać na koncie Gmail. A następnie skonfigurować php.ini:

    Sendmail_path = "C:\wamp\sendmail\sendmail.exe-t "

  2. Teraz uruchom ponownie Apache i to to w zasadzie wszystko, co musisz zrobić.

 20
Author: Henrik Rosvall,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-08 11:36:25

PHP Czy posiada uwierzytelnianie w poleceniu mail!

Poniżej działa dla mnie na WAMPSERVER (windows, php 5.2.17)

Php.ini

[mail function]
; For Win32 only.
SMTP = mail.yourserver.com
smtp_port = 25
auth_username = smtp-username
auth_password = smtp-password
sendmail_from = [email protected]
 13
Author: blavla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-04 12:27:46
  1. zainstaluj Postfix (kompatybilny z Sendmail).
  2. Edytuj /etc/postfix/main.cf aby przeczytać:
#Relay config
relayhost = smtp.server.net
smtp_use_tls=yes
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_sasl_security_options = noanonymous
  1. Create /etc/postfix/sasl_passwd, enter:
smtp.server.net username:password
  1. Typ # /usr/sbin/postmap sasl_passwd

  2. Następnie uruchom: service postfix reload

Teraz PHP uruchomi pocztę jak zwykle poleceniem sendmail -t -i, A Postfix przechwyci ją i przekaże na podany przez Ciebie serwer SMTP.

 8
Author: Jay Sudo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-27 02:28:42

Wolę narzędzie PHPMailer , ponieważ nie wymaga PEAR ' a. Ale tak czy inaczej, masz nieporozumienie: nie chcesz ustawienia całego serwera PHP dla użytkownika SMTP i hasła. Powinno to być ustawienie dla aplikacji (lub dla strony). Jeśli chcesz używać tego samego konta na różnych stronach PHP, dodaj je do pewnych ustawień.plik php.

 6
Author: Eric_WVGG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-21 21:25:24

Po całym dniu pracy nad tym, w końcu znalazłem rozwiązanie. Oto jak wysyłam z Windows XP z WAMP.

  1. Użyj serwera SMTP Google. Pewnie potrzebujesz konta.
  2. Pobierz i zainstaluj fałszywy Sendmail . Ściągnąłem go, rozpakowałem i umieściłem w folderze WAMP.
  3. Utwórz testowy plik PHP. Patrz poniżej.
<?php
    $message = "test message body";
    $result = mail('[email protected]', 'message subject', $message);
    echo "result: $result";
?>
  1. Zaktualizuj swoje php.plik ini i twój sendmail.plik ini (sendmail.ini jest w sendmailu folder).
  2. Sprawdź błąd.plik dziennika w folderze sendmail, który właśnie utworzyłeś, jeśli nie działa.

Odniesienie:

 5
Author: B Seven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-08 11:43:24

Te odpowiedzi są przestarzałe i zamortyzowane. Najlepsza praktyka..

composer require phpmailer/phpmailer

Następny na Twoim sendmailu.plik php wymaga tylko następującego

# use namespace
use PHPMailer\PHPMailer\PHPMailer;

# require php mailer
require_once "../vendor/autoload.php";

//PHPMailer Object
$mail = new PHPMailer;

//From email address and name
$mail->From = "[email protected]";
$mail->FromName = "Full Name";

//To address and name
$mail->addAddress("[email protected]", "Recepient Name");
$mail->addAddress("[email protected]"); //Recipient name is optional

//Address to which recipient will reply
$mail->addReplyTo("[email protected]", "Reply");

//CC and BCC
$mail->addCC("[email protected]");
$mail->addBCC("[email protected]");

//Send HTML or Plain Text email
$mail->isHTML(true);

$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content";

if(!$mail->send()) 
{
    echo "Mailer Error: " . $mail->ErrorInfo;
} 
else 
{
    echo "Message has been sent successfully";
}

To można skonfigurować jak chcesz..

 2
Author: Delino,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-21 23:33:09

Użyj Mail:: factory w pakiecie Mail PEAR. Przykład.

 1
Author: William Keller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55
  1. zainstaluj najnowszy hMailServer. "Uruchom administratora serwera hMailServer" w ostatnim kroku.
  2. Połącz się z "localhost".
  3. " Dodaj domenę..."
  4. Set "127.0.0.1."jako" domena "kliknij " Zapisz".
  5. "Ustawienia" > "protokoły" > "SMTP" > "dostarczanie wiadomości e-mail"
  6. Ustaw "localhost" jako "nazwę hosta lokalnego", podaj swoje dane w sekcji "SMTP Relayer" , kliknij "Zapisz".
  7. "Ustawienia" > "zaawansowane" > "zakresy adresów IP" > "mój komputer"
  8. Wyłącz pole wyboru " zewnętrzne do zewnętrznych adresów e-mail "w grupie" Wymagaj uwierzytelniania SMTP".
  9. Jeśli zmodyfikowałeś php.ini, przepisz te 3 wartości:

"SMTP = localhost",

"smtp_port = 25",

"; sendmail_path=".

Kredyt: Jak skonfigurować WAMP (localhost) do wysyłania wiadomości e-mail za pomocą Gmaila?

 0
Author: Tamás Bolvári,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:36