CURLOPT_HTTPHEADER
는 SMTP 옵션 (CURLOPT_MAIL_FROM
, CURLOPT_MAIL_RCPT
, CURLOPT_MAIL_AUTH
)의 작동하지 않습니다를 참조하십시오. 대신 CURLOPT_READFUNCTION
을 사용해야합니다.
/* Disclaimer: untested code */
char *msg = "To: [email protected]\r\n"
"From: [email protected]\r\n"
"Content-Type: text/html; charset=us-ascii\r\n"
"Mime-version: 1.0\r\n"
"\r\n"
"<html><head>\r\n"
"<meta http-equiv=\"Content-Type\" content="text/html; charset=us-ascii\">\r\n"
"</head><body>\r\n"
"<p>Hi Bob</p>\r\n"
"</body></html>\r\n"
size_t callback(char *buffer, size_t size, size_t nitems, void *instream) {
/* you actually need to check that buffer <= size * nitems */
strcat(buffer, msg);
return strlen(buffer);
}
curl_easy_setopt(curl, CURLOPT_READFUNCTION, callback);
curl_easy_perform(curl);
documentation for CURLOPT_READFUNCTION
에 대한 자세한 정보가 있습니다. 이미 일반 텍스트 전자 메일을 보내고 있다면 이미 그곳에 왔습니다.
sameerkn에 의해 연결 Sending Mail Through Curl에 제시되지 않은 여기 유일한 "트릭"은 단순히 이메일 버퍼 내부의 Content-Type
헤더를 덤프 것입니다. HTTP와 같이 영리한 헤더 설정은 없습니다.
는 또한 : 난 당신이 Content-Transfer-Encoding
헤더를 필요가 있는지 확실하지 않다, 나는 us-ascii
에 위의 charset
을 설정했지만 utf-8
같은 것들이 전송 인코딩을해야 할 수도 있습니다.
감사합니다. grochmal,이 사람이 정말로 도움이되었습니다. –