繁体   English   中英

PHP mail()函数替换?

[英]PHP mail() function replacement?

当我更改提供者时,我总是要使sendmail工作,这是一个真正的拖累。

我可以在我的PHP代码中使用任何免费的提供程序来发送相同的变量,如用于注册验证的密钥代码和东西吗?

我尝试在谷歌上看,但我只找到了形成发电机的东西,这不是我需要的东西。

我使用PHPMailer取得了巨大的成功。

现在, Swift Mailer是PHP最好的邮件解决方案之一。 它高度模块化,可以轻松配置以满足您的需求。 您可以定义多个传输 (例如,在配置文件中)并使用更改提供程序时所需的传输

以下是文档中的示例:

require_once 'lib/swift_required.php';

// Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
  ->setUsername('your username')
  ->setPassword('your password')
  ;

/*
You could alternatively use a different transport such as Sendmail or Mail:

// Sendmail
$transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');

// Mail
$transport = Swift_MailTransport::newInstance();
*/

// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

// Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('john@doe.com' => 'John Doe'))
  ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
  ->setBody('Here is the message itself')
  ;

// Send the message
$result = $mailer->send($message);

您需要的是一个传出的经过身份验证的SMTP服务器,因此您不需要使用主机,也不必每次都更改详细信息。

看看AuthSMTP (还有很多其他提供此功能的网站),然后使用PHPMailer或Swift Mailer之类的东西来发送带有身份验证的电子邮件。

问题是许多ISP阻止端口25(默认smtp)上的连接到自己以外的服务器。 与垃圾邮件阻止等有关

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM