如何将 curl 转换为用于在 php 中发送邮件
How to convert a curl to be used to send a mail in php
我正在尝试使用以下 curl 示例向用户和所有者发送 2 封邮件。如果我想用 php 中的以下代码发送邮件,我将如何做到?实际上,示例代码来自名为 sendinblue 的服务。我很想听听你的意见!
curl -H 'api-key:your_access_key' -X POST -d '{"cc":["cc@example.net":"cc whom!"],"text":"This is the text","bcc":["bcc@example.net":"bcc whom!"],"replyto":["replyto@email.com","reply to!"],"html":"This is the <h1>HTML</h1>This is inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image1\" border=\"0\"><br/>Some text<br/>This is inline image 2.<br/><img src=\"{myinlineimage2.jpg}\" alt=\"image2\" border=\"0\"><br/>Some more text<br/>Re-used inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image3\" border=\"0\">","to":{"to@example.net":"to whom!"},"attachment": {"myfilename.pdf":"your_pdf_files_base64_encoded_chunk_data"},"from":["from@email.com","from email!"],"subject":"My subject","headers":{"Content-Type":"text/html; charset=iso-8859-1", "X-param1":"value1","X-param2":"value2", "X-Mailin-custom":"my custom value","X-Mailin-IP":"102.102.1.2", "X-Mailin-Tag":"My tag"},"inline_image":{"myinlineimage1.png":"your_png_files_base64_encoded_chunk_data", "myinlineimage2.jpg":"your_jpg_files_base64_encoded_chunk_data"}}' 'https://api.sendinblue.com/v2.0/email
要发送以下数据
$senddata = array (
'to' => array('sample_mail@live.com'=>'sample_mail@live.com'),
'from' => array($fromvalue,$fromvalue),
'replyto' => array("user_mail@live.com","user_mail@live.com"),
'subject' => "subject",
'text' => "text",
'html' => '',
'fromname' => $fromnamevalue,
'bcc' => 'bcc'
);
您可以下载 Chrome 的 Postman 扩展。您可以选择查看请求的代码。在这种情况下,您的示例代码如下所示。
$request = new HttpRequest();
$request->setUrl('https://api.sendinblue.com/v2.0/email');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array(
'api-key' => 'your_access_key',
));
$request->setBody('{
"cc":["cc@example.net":"cc whom!"],
"text":"This is the text",
"bcc":["bcc@example.net":"bcc whom!"],
"replyto":["replyto@email.com","reply to!"],
"html":"This is the <h1>HTML</h1>This is inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image1\" border=\"0\"><br/>Some text<br/>This is inline image 2.<br/><img src=\"{myinlineimage2.jpg}\" alt=\"image2\" border=\"0\"><br/>Some more text<br/>Re-used inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image3\" border=\"0\">",
"to":{"to@example.net":"to whom!"},
"attachment": {
"myfilename.pdf":"your_pdf_files_base64_encoded_chunk_data"
},
"from":["from@email.com","from email!"],
"subject":"My subject",
"headers":{
"Content-Type":"text/html; charset=iso-8859-1",
"X-param1":"value1",
"X-param2":"value2",
"X-Mailin-custom":"my custom value",
"X-Mailin-IP":"102.102.1.2",
"X-Mailin-Tag":"My tag"
},
"inline_image":{
"myinlineimage1.png":"your_png_files_base64_encoded_chunk_data",
"myinlineimage2.jpg":"your_jpg_files_base64_encoded_chunk_data"
}
}');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
您可以使用此网站将 curl 命令转换为 php 代码。
https://incarnate.github.io/curl-to-php/
在这里为您编写代码就是结果。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sendinblue.com/v2.0/email");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"cc\":[\"cc@example.net\":\"cc whom!\"],\"text\":\"This is the text\",\"bcc\":[\"bcc@example.net\":\"bcc whom!\"],\"replyto\":[\"replyto@email.com\",\"reply to!\"],\"html\":\"This is the <h1>HTML</h1>This is inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image1\" border=\"0\"><br/>Some text<br/>This is inline image 2.<br/><img src=\"{myinlineimage2.jpg}\" alt=\"image2\" border=\"0\"><br/>Some more text<br/>Re-used inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image3\" border=\"0\">\",\"to\":{\"to@example.net\":\"to whom!\"},\"attachment\": {\"myfilename.pdf\":\"your_pdf_files_base64_encoded_chunk_data\"},\"from\":[\"from@email.com\",\"from email!\"],\"subject\":\"My subject\",\"headers\":{\"Content-Type\":\"text/html; charset=iso-8859-1\", \"X-param1\":\"value1\",\"X-param2\":\"value2\", \"X-Mailin-custom\":\"my custom value\",\"X-Mailin-IP\":\"102.102.1.2\", \"X-Mailin-Tag\":\"My tag\"},\"inline_image\":{\"myinlineimage1.png\":\"your_png_files_base64_encoded_chunk_data\", \"myinlineimage2.jpg\":\"your_jpg_files_base64_encoded_chunk_data\"}}");
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = "Api-Key: your_access_key";
$headers[] = "Content-Type: application/x-www-form-urlencoded";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
已编辑:
只需更改此 curl_setopt($ch, CURLOPT_POSTFIELDS , .... 用此
curl_setopt($ch, CURLOPT_POSTFIELDS,$senddata);
我正在尝试使用以下 curl 示例向用户和所有者发送 2 封邮件。如果我想用 php 中的以下代码发送邮件,我将如何做到?实际上,示例代码来自名为 sendinblue 的服务。我很想听听你的意见!
curl -H 'api-key:your_access_key' -X POST -d '{"cc":["cc@example.net":"cc whom!"],"text":"This is the text","bcc":["bcc@example.net":"bcc whom!"],"replyto":["replyto@email.com","reply to!"],"html":"This is the <h1>HTML</h1>This is inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image1\" border=\"0\"><br/>Some text<br/>This is inline image 2.<br/><img src=\"{myinlineimage2.jpg}\" alt=\"image2\" border=\"0\"><br/>Some more text<br/>Re-used inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image3\" border=\"0\">","to":{"to@example.net":"to whom!"},"attachment": {"myfilename.pdf":"your_pdf_files_base64_encoded_chunk_data"},"from":["from@email.com","from email!"],"subject":"My subject","headers":{"Content-Type":"text/html; charset=iso-8859-1", "X-param1":"value1","X-param2":"value2", "X-Mailin-custom":"my custom value","X-Mailin-IP":"102.102.1.2", "X-Mailin-Tag":"My tag"},"inline_image":{"myinlineimage1.png":"your_png_files_base64_encoded_chunk_data", "myinlineimage2.jpg":"your_jpg_files_base64_encoded_chunk_data"}}' 'https://api.sendinblue.com/v2.0/email
要发送以下数据
$senddata = array (
'to' => array('sample_mail@live.com'=>'sample_mail@live.com'),
'from' => array($fromvalue,$fromvalue),
'replyto' => array("user_mail@live.com","user_mail@live.com"),
'subject' => "subject",
'text' => "text",
'html' => '',
'fromname' => $fromnamevalue,
'bcc' => 'bcc'
);
您可以下载 Chrome 的 Postman 扩展。您可以选择查看请求的代码。在这种情况下,您的示例代码如下所示。
$request = new HttpRequest();
$request->setUrl('https://api.sendinblue.com/v2.0/email');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array(
'api-key' => 'your_access_key',
));
$request->setBody('{
"cc":["cc@example.net":"cc whom!"],
"text":"This is the text",
"bcc":["bcc@example.net":"bcc whom!"],
"replyto":["replyto@email.com","reply to!"],
"html":"This is the <h1>HTML</h1>This is inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image1\" border=\"0\"><br/>Some text<br/>This is inline image 2.<br/><img src=\"{myinlineimage2.jpg}\" alt=\"image2\" border=\"0\"><br/>Some more text<br/>Re-used inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image3\" border=\"0\">",
"to":{"to@example.net":"to whom!"},
"attachment": {
"myfilename.pdf":"your_pdf_files_base64_encoded_chunk_data"
},
"from":["from@email.com","from email!"],
"subject":"My subject",
"headers":{
"Content-Type":"text/html; charset=iso-8859-1",
"X-param1":"value1",
"X-param2":"value2",
"X-Mailin-custom":"my custom value",
"X-Mailin-IP":"102.102.1.2",
"X-Mailin-Tag":"My tag"
},
"inline_image":{
"myinlineimage1.png":"your_png_files_base64_encoded_chunk_data",
"myinlineimage2.jpg":"your_jpg_files_base64_encoded_chunk_data"
}
}');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
您可以使用此网站将 curl 命令转换为 php 代码。 https://incarnate.github.io/curl-to-php/ 在这里为您编写代码就是结果。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sendinblue.com/v2.0/email");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"cc\":[\"cc@example.net\":\"cc whom!\"],\"text\":\"This is the text\",\"bcc\":[\"bcc@example.net\":\"bcc whom!\"],\"replyto\":[\"replyto@email.com\",\"reply to!\"],\"html\":\"This is the <h1>HTML</h1>This is inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image1\" border=\"0\"><br/>Some text<br/>This is inline image 2.<br/><img src=\"{myinlineimage2.jpg}\" alt=\"image2\" border=\"0\"><br/>Some more text<br/>Re-used inline image 1.<br/><img src=\"{myinlineimage1.png}\" alt=\"image3\" border=\"0\">\",\"to\":{\"to@example.net\":\"to whom!\"},\"attachment\": {\"myfilename.pdf\":\"your_pdf_files_base64_encoded_chunk_data\"},\"from\":[\"from@email.com\",\"from email!\"],\"subject\":\"My subject\",\"headers\":{\"Content-Type\":\"text/html; charset=iso-8859-1\", \"X-param1\":\"value1\",\"X-param2\":\"value2\", \"X-Mailin-custom\":\"my custom value\",\"X-Mailin-IP\":\"102.102.1.2\", \"X-Mailin-Tag\":\"My tag\"},\"inline_image\":{\"myinlineimage1.png\":\"your_png_files_base64_encoded_chunk_data\", \"myinlineimage2.jpg\":\"your_jpg_files_base64_encoded_chunk_data\"}}");
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = "Api-Key: your_access_key";
$headers[] = "Content-Type: application/x-www-form-urlencoded";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
已编辑: 只需更改此 curl_setopt($ch, CURLOPT_POSTFIELDS , .... 用此
curl_setopt($ch, CURLOPT_POSTFIELDS,$senddata);