当前位置: 首页 > 面试题库 >

从Linux中的C / C ++程序发送电子邮件

郏正信
2023-03-14
问题内容

我想在每次模拟结束时向我的Gmail帐户发送一封电子邮件。我尝试在网上搜索并发现sendEmail,但超时。如果有人能指出我所尝试的软件包或链接,我将不胜感激。

谢谢


问题答案:

您可以直接使用本地MTA popen()并向其提供符合RFC822的文本。

#include <stdio.h>
#include <string.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;
}

main(int argc, char** argv)
{
    int i;

    printf("argc = %d\n", argc);

    for (i = 0; i < argc; i++)
        printf("argv[%d] = \"%s\"\n", i, argv[i]);
    sendmail(argv[1], argv[2], argv[3], argv[4]);
}


 类似资料:
  • 我正在做一个学校项目,我试图在创建帐户时发送一封验证电子邮件,但我不断收到一个身份验证错误,即使我的凭据是正确的。 错误日志: 我尝试了几种不同的身份验证器,但似乎都不起作用!谢谢!

  • 我有一个控制台应用程序,我需要通过它发送电子邮件通知。我可以在浏览器中使用相同的凭据登录邮箱。 从抛出的异常来看,我似乎无法通过C#代码打开与Office OWA的连接,并收到错误消息:“发送邮件失败”-内部异常-“无法连接到远程服务器”。 我注意到,从浏览器登录邮箱时,它首先让我根据电子邮件地址域登录公司特定页面,然后要求输入密码登录邮箱。 此外,传递给打开 smtpClient connect

  • 问题内容: 在我的AngularJS Web应用程序之一中,我需要通过向相关人员发送电子邮件来确认密码。如何在AngularJS中实现呢?我是.NET专家,正在使用Visual Studio 2013。 问题答案: 我已经通过网络服务实现了,请参考下面的代码片段 和ajax调用为

  • 尝试使用SmtpClient从我的c# winforms应用程序发送电子邮件。根据这篇MS文章来看,这应该是可行的。我已经搜索了许多论坛等,没有找到任何解决方案。错误消息似乎表明客户端未通过身份验证。密码是正确的,我已经用这个密码登录了。2FA是开着的,但是它不应该妨碍我们,不是吗? 我查过的东西都到位了 启用SSl 来自电子邮件和用户电子邮件是相同的 端口587 我在Outlook中有这个帐户,

  • 问题内容: 我正在尝试从PHP发送简单的HTML电子邮件。下面的代码仅导致GMail中的空白电子邮件。它还有一个名为“ noname”的空附件,这根本不是我想要的;尽管那可能只是它无法正常工作的症状。 我使用的代码是: 问题答案: 原来关键是编码类型。代替: 我需要使用: 它可能取决于您如何在自己的文本编辑器中保存PHP文件的细节。我没有研究它,但是PHP中的 iconv 函数可能也给我带来了一些