4

mail目標は、php関数のように Unix マシンで電子メールを送信することです。StackOverflow で私はすでにそれを行うための関数を見つけましたが、おそらく誰かがよりエレガントなソリューションまたはなしのソリューションを提案できfprintfますfwriteか? C++プログラムでは使用printfしないため:

#include<stdio.h>
#include<errno.h>
int sendmail(const char *to, const char *from, const char *subject, const char *message)
{
    int retval = -1;
    FILE *mailpipe = popen("usr/lib/sendmail -t", "w");
    if (mailpipe != NULL)
    {
        fprintf(mailpipe, "To: %s\n", to);
        fprintf(mailpipe, "From: %s\n" from);
        fprintf(mailpipe, "Subject: %s\n\n", subject);
        fwrite(message, 1, strlen(message), mailpipe);
        fwrite(".\n", 1, 2, mailpipe);
        pclose(mailpipe);
        retval = 0;
     }
     else
     {
         perror("Failed to invoke sendmail”);
     }
     return retval;
}
4

1 に答える 1