Odeslání emailu z PHP skriptu pomocí SMTP

Vyřešeno2.43K zhlédnutíWebhostingsmtp SMTP nefunkční SMTP(S)
0

Dobrý den,

využívám frameworku CodeIgniter4 který má třídu pro odeslání emailu přes SMTP, nicméně mi to nefunguje, zde posílám jaké mám nastavení. Zřídíl jsem si emailovou schránku no-reply@zdraveobedy.eu. Používám email zřízené emailové schránky v $SMTPUser a její heslo v $SMTPPass. Když změním $protocol na ‚mail‘ tak to funguje ale chci používat SMTP a nikoli funkci mail(). Zkoušel jsem i jiné porty a šifrování.

Děkuji za rady

<?php
 namespace Config;
 use CodeIgniter\Config\BaseConfig;
 class Email extends BaseConfig
{
 /**
  * @var string
  */
 public $fromEmail;
  /**
  * @var string
  */
 public $fromName;
  /**
  * @var string
  */
 public $recipients;
  /**
  * The "user agent"
  *
  * @var string
  */
 public $userAgent = 'CodeIgniter';
  /**
  * The mail sending protocol: mail, sendmail, smtp
  *
  * @var string
  */
 public $protocol = 'smtp';
  /**
  * The server path to Sendmail.
  *
  * @var string
  */
 public $mailPath = '/usr/sbin/sendmail';
  /**
  * SMTP Server Address
  *
  * @var string
  */
 public $SMTPHost = 'wes1-smtp.wedos.net';
  /**
  * SMTP Username
  *
  * @var string
  */
 public $SMTPUser = 'no-reply@zdraveobedy.eu';
  /**
  * SMTP Password
  *
  * @var string
  */
 public $SMTPPass = 'zde mam heslo';
  /**
  * SMTP Port
  *
  * @var integer
  */
 public $SMTPPort = 587;
  /**
  * SMTP Timeout (in seconds)
  *
  * @var integer
  */
 public $SMTPTimeout = 5;
  /**
  * Enable persistent SMTP connections
  *
  * @var boolean
  */
 public $SMTPKeepAlive = false;
  /**
  * SMTP Encryption. Either tls or ssl
  *
  * @var string
  */
 public $SMTPCrypto = 'tls';
  /**
  * Enable word-wrap
  *
  * @var boolean
  */
 public $wordWrap = true;
  /**
  * Character count to wrap at
  *
  * @var integer
  */
 public $wrapChars = 76;
  /**
  * Type of mail, either 'text' or 'html'
  *
  * @var string
  */
 public $mailType = 'html';
  /**
  * Character set (utf-8, iso-8859-1, etc.)
  *
  * @var string
  */
 public $charset = 'UTF-8';
  /**
  * Whether to validate the email address
  *
  * @var boolean
  */
 public $validate = false;
  /**
  * Email Priority. 1 = highest. 5 = lowest. 3 = normal
  *
  * @var integer
  */
 public $priority = 3;
  /**
  * Newline character. (Use “\r\n” to comply with RFC 822)
  *
  * @var string
  */
 public $CRLF = "\r\n";
  /**
  * Newline character. (Use “\r\n” to comply with RFC 822)
  *
  * @var string
  */
 public $newline = "\r\n";
  /**
  * Enable BCC Batch Mode.
  *
  * @var boolean
  */
 public $BCCBatchMode = false;
  /**
  * Number of emails in each BCC batch
  *
  * @var integer
  */
 public $BCCBatchSize = 200;
  /**
  * Enable notify message from server
  *
  * @var boolean
  */
 public $DSN = false;
 }

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
JŠ255861 Vybral nejlepší odpověď 16. 12. 2021
0
49.29K Odpověď od WEDOS Internet, a.s. 1 Komentář

Dobrý den,

určitě doporučuji nastavit port 587 a zabezpečení TLS pro odesílání z webové aplikace viz.:

https://www.wedos.cz/odesilani-emailu

Dle chyby Sender address rejected: not owned by user no-reply@zdraveobedy.eu z logu by mohl být problém v nastavení hodnoty odesílatele $fromEmail. Pokud je to možné, tak zde zkuste přímo nastavit e-mailovou adresu odesílatele.

Role: Podpora
JŠ255861 Vybral nejlepší odpověď 16. 12. 2021
Prohlížíte 1 ze 4 odpovědí, klikněte zde pro zobrazení všech odpovědí.