Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何设置Sparkpost smtp_Php_Email_Sparkpost - Fatal编程技术网

Php 如何设置Sparkpost smtp

Php 如何设置Sparkpost smtp,php,email,sparkpost,Php,Email,Sparkpost,我对设置Sparkpost SMTP有点困惑。我需要从我的网站向客户发送自动电子邮件,例如,当他们注册时发送欢迎消息、咨询提醒电子邮件等。网站将自动生成电子邮件 在Sparkpost上显示: define('PHPMAILERHOST', 'smtp.sparkpostmail.com'); $phpmailer_smtpuser = 'SMTP_Injection'; $phpmailer_smtppassword = '<API_KEY>'; define('PHPMAILERP

我对设置Sparkpost SMTP有点困惑。我需要从我的网站向客户发送自动电子邮件,例如,当他们注册时发送欢迎消息、咨询提醒电子邮件等。网站将自动生成电子邮件

在Sparkpost上显示:

define('PHPMAILERHOST', 'smtp.sparkpostmail.com');
$phpmailer_smtpuser = 'SMTP_Injection';
$phpmailer_smtppassword = '<API_KEY>';
define('PHPMAILERPORT', 587);
鉴于上述情况,将开展以下工作:

//Sparkpost configuration
$config['mailtype'] = "html";
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.sparkpostmail.com';
$config['smtp_user'] = 'user';
$config['smtp_pass'] = 'password';
$config['smtp_crypto'] = 'tls';
$config['smtp_port'] = '587';
$condig['crlf'] = "\r\n";
$config['newline'] = "\r\n";

//My email code
$to_email = "$Email";
$from_email = "me@mydomain";
$subject = "Email Subject";
$comment =  "<html>Email message</html>";

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers
$headers .= "From: Info <" . $from_email . ">\r\n";
//send email
mail($to_email, "$subject", $comment, $headers);
//Sparkpost配置
$config['mailtype']=“html”;
$config['protocol']='smtp';
$config['smtp_host']='smtp.sparkpostmail.com';
$config['smtp_user']='user';
$config['smtp_pass']='password';
$config['smtp_crypto']='tls';
$config['smtp_port']='587';
$condig['crlf']=“\r\n”;
$config['newline']=“\r\n”;
//我的电子邮件代码
$to_email=“$email”;
$from_电子邮件=”me@mydomain";
$subject=“电子邮件主题”;
$comment=“电子邮件”;
//发送HTML电子邮件时始终设置内容类型
$headers=“MIME版本:1.0”。“\r\n”;
$headers.=“内容类型:text/html;字符集=UTF-8”。“\r\n”;
//更多标题
$headers.=“发件人:信息\r\n”;
//发送电子邮件
邮件($to_email,$subject,$comment,$headers);

我问的原因是,我不想设置、测试和发送电子邮件,虽然我觉得我的Sparkpost设置正在运行,但电子邮件会通过我的主机发送。

如果你想使用Sparkpost,你可以使用它们的库,或者按照Jon Stirling的建议,将phpMail与Sparkpost配置一起使用

使用SparkPost PHP库

  • 阅读安装说明
  • 安装后,请参阅以了解许多用例
使用PHPMailer

  • 在脚本中包括phpMailer类

  • 将其配置为像SparkPost一样使用

$mail=新的PHPMailer;
$mail->SMTPDebug=3;
$mail->isSMTP();
$mail->Host='smtp.sparkpostmail.com';
$mail->Port=587;
$mail->SMTPSecure='tls';
$mail->SMTPAuth=true;
$mail->Username='SMTP_注入';
$mail->Password=''//确保将SMTP权限添加到API密钥
$mail->setFrom('testing@sparkpostbox.com'); //您可以使用w/o添加发送域,如~50条消息。添加发送域后,请使用该域。
$mail->addAddress('recipient@domain.com');
$mail->Subject='testsubject';
$mail->Body='Hello World!';
$mail->send();

随机数组不会自动成为发送电子邮件的设置。目前看来,电子邮件很可能是通过默认的系统MTA发送的,而不是通过SparkPost发送的。@JonStirling。谢谢您能帮助我正确使用Sparkpost SMTP吗?我的建议是使用类似PHPMailer的库,并按照有关如何使用的说明进行操作,并提供连接到Sparkpost的详细信息。一个快速的谷歌搜索应该能提供你所需要的一切。
//Sparkpost configuration
$config['mailtype'] = "html";
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.sparkpostmail.com';
$config['smtp_user'] = 'user';
$config['smtp_pass'] = 'password';
$config['smtp_crypto'] = 'tls';
$config['smtp_port'] = '587';
$condig['crlf'] = "\r\n";
$config['newline'] = "\r\n";

//My email code
$to_email = "$Email";
$from_email = "me@mydomain";
$subject = "Email Subject";
$comment =  "<html>Email message</html>";

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers
$headers .= "From: Info <" . $from_email . ">\r\n";
//send email
mail($to_email, "$subject", $comment, $headers);
$mail = new PHPMailer;
$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = 'smtp.sparkpostmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = 'SMTP_Injection';
$mail->Password = '<API_KEY>'; //make sure you add SMTP permission to API Key
$mail->setFrom('testing@sparkpostbox.com'); //you can use w/o adding your sending domain like ~50 messages. Once you add your sending domain, use that. 
$mail->addAddress('recipient@domain.com');
$mail->Subject = 'Test subject';
$mail->Body    = 'Hello World!';
$mail->send();