我只是想知道如何使用C發送電子郵件?我將它搜索了一下,但找不到任何適當的東西。如何以C發送電子郵件?
回答
運行sendmail
並將電子郵件傳遞到其標準輸入(在類Unix系統上),或使用某個SMTP客戶端庫連接到SMTP郵件服務器。
最明顯的選擇:
- 使用
system()
調用現有的命令行工具來發送郵件。不是很便攜(需要具有給定調用語法的外部工具等),但非常容易實現。 - 使用一些庫。
- 自己實施SMTP,並直接與郵件服務器通話。很多工作。
事實上,我想學習如何在第三個選項中提到自己實現SMTP。你知道任何相關的教程,文章或源代碼嗎? – mehmet6parmak
將來,請不要推薦system(),而應該推薦exec()系列函數。 –
@rogue:謝謝。但system()更具可移植性,exec *()僅適用於Unix。 – unwind
在Unix類系統中,你可以使用system
和sendmail
如下:
#include <stdio.h>
#include <string.h>
int main() {
char cmd[100]; // to hold the command.
char to[] = "[email protected]"; // email id of the recepient.
char body[] = "SO rocks"; // email body.
char tempFile[100]; // name of tempfile.
strcpy(tempFile,tempnam("/tmp","sendmail")); // generate temp file name.
FILE *fp = fopen(tempFile,"w"); // open it for writing.
fprintf(fp,"%s\n",body); // write body to it.
fclose(fp); // close it.
sprintf(cmd,"sendmail %s < %s",to,tempFile); // prepare command.
system(cmd); // execute it.
return 0;
}
我知道它的醜陋,有幾個更好的方法來做到這一點...但它的工作原理:)
您也可以使用郵件命令。
內使用mail命令和系統功能,您可以將郵件發送給用戶的C程序。
system("mail -s subject address < filename")
Example
system ("mail -s test [email protected] < filename")
注:該文件應該是存在的。如果你想輸入內容,yiu可以輸入文件內的內容,然後將該文件發送給接收者。
使用libcurl。它支持SMTP和TLS,以防您需要驗證發送。 他們提供一些example C code。
更便攜的方式是使用libquickmail(http://sf.net/p/libquickmail),在GPL下許可。 它甚至允許發送附件。
示例代碼:
quickmail_initialize();
quickmail mailobj = quickmail_create(FROM, "libquickmail test e-mail");
quickmail_set_body(mailobj, "This is a test e-mail.\nThis mail was sent using libquickmail.");
quickmail_add_attachment_file(mailobj, "attachment.zip", NULL);
const char* errmsg;
if ((errmsg = quickmail_send(mailobj, SMTPSERVER, SMTPPORT, SMTPUSER, SMTPPASS)) != NULL)
fprintf(stderr, "Error sending e-mail: %s\n", errmsg);
quickmail_destroy(mailobj);
- 1. 如何發送電子郵件與電子郵件模板c#
- 2. 如何發送電子郵件與c + +
- 3. C#如何發送電子郵件?
- 4. 如何從C發送電子郵件
- 5. 如何用C++發送電子郵件
- 6. 發送電子郵件C#
- 7. 以C#發送批量電子郵件#
- 8. 如何以Java發送電子郵件?
- 9. 發送電子郵件操作不發送電子郵件
- 10. PHP發送電子郵件多次發送電子郵件
- 11. 如何發送電子郵件到特定的電子郵件?
- 12. 如何通過電子郵件發送電子郵件地址
- 13. 發送電子郵件附件C#
- 14. 通過Visual C++/Cli不發送郵件發送電子郵件
- 15. 反覆發送電子郵件。 c#
- 16. 發送電子郵件從C + +代碼
- 17. 發送電子郵件C#(cPanel主機)
- 18. C#發送.htm電子郵件模板
- 19. 發送Datagridview到電子郵件 - C#
- 20. 從C#代碼發送電子郵件
- 21. 發送電子郵件在C#
- 22. 從C++發送電子郵件
- 23. 通過HTML/C發送電子郵件#
- 24. 發送電子郵件asp.net c#
- 25. C#發送批量電子郵件
- 26. 發送電子郵件在c#
- 27. 發送電子郵件在ASP.NET C#
- 28. C# - 從BlueHost發送電子郵件
- 29. 發送匿名電子郵件C#
- 30. 使用c發送電子郵件#
[從C發送電子郵件在linux/C++程序]的可能的複製(http://stackoverflow.com/questions/9317305/sending-an-email-from- acc-program-in-linux) – rogerdpack