我有smtp邮件,我在webproject发送帐户验证邮件。 Webprject是使用codeigniter 3.0开发的。
我使用gmail测试过,它运行得很好。 现在我必须把smtp邮件而不是gmail。 它似乎没有成功连接到smtp帐户。
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'mail.company.com'; //change this
$config['smtp_port'] = '587';
$config['smtp_user'] = 'support@company.com'; //change this
$config['smtp_pass'] = '******'; //change this
$config['smtp_crypto'] = 'tls';
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n";
收到这样的错误
A PHP Error was encountered
Severity: Warning
Message: stream_socket_enable_crypto(): Peer certificate CN=`outlook.com' did not match expected CN=`mail.company.com'
Filename: libraries/Email.php
Line Number: 1978
答案 0 :(得分:1)
如果您使用 smtp_crypto = tls,请设置 "$config['starttls'] = true"
答案 1 :(得分:0)
我猜错误是指" mail.company.com",这是一个虚假的地址。我认为这就是你得到这个错误的原因。要使用SMTP,您需要一个真正的SMTP帐户,而不是虚假的帐户。这就是为什么有"改变这个"您的代码中的注释。你应该真正改变这些行,并把真正的凭证。
答案 2 :(得分:0)
需要此配置,否则邮件发送失败:
$config['smtp_crypto'] = 'tls';