C语言写一个邮箱传递消息

该文章展示了一个使用C语言编写的简单邮件模拟程序,包括发送和接收邮件的函数,以及回调函数来处理发送状态和接收的消息。程序利用<stdio.h>和<string.h>库,定义了最大消息长度,并通过回调函数处理交互反馈。
摘要由CSDN通过智能技术生成
#if 0
1. `#include <stdio.h>`和`#include <string.h>`是C语言标准库中的头文件,分别提供了输入输出函数和字符串操作函数的定义。
2. `MAX_MSG_LEN`是一个宏定义,表示消息的最大长度。
3. `send_email`函数模拟发送邮件,接受收件人、主题、正文和回调函数作为参数。在函数内部,先打印发送邮件的信息,然后模拟发送成功,并调用回调函数,将发送状态作为参数传递给回调函数。
4. `receive_email`函数模拟接收邮件,接受回调函数作为参数。在函数内部,先模拟接收邮件,然后调用回调函数,将接收到的消息作为参数传递给回调函数。
5. `print_received_msg`函数打印接收到的消息。
6. `send_callback`函数根据发送状态打印发送成功或发送失败的信息。
7. `main`函数是程序的入口,定义了收件人、主题和正文,并调用`send_email`和`receive_email`函数,分别设置回调函数
#endif

#include <stdio.h> // 标准输入输出库,提供了输入输出函数的定义
#include <string.h> // 字符串处理库,提供了字符串操作函数的定义

#define MAX_MSG_LEN 100 // 宏定义,表示消息的最大长度

void send_email(char* recipient, char* subject, char* body, void (*callback)(int))
{
    // 模拟发送邮件
    printf("Sending email to %s with subject '%s' and body '%s'\n", recipient, subject, body);

    // 模拟发送成功
    int status = 1;

    // 调用回调函数,并传递发送状态
    callback(status);
}

void receive_email(void (*callback)(char*))
{
    // 模拟接收邮件
    char msg[MAX_MSG_LEN] = "Hello, this is a test email!";

    // 调用回调函数,并传递消息
    callback(msg);
}

void print_received_msg(char* msg)
{
    printf("Received message: '%s'\n", msg); // 打印接收到的消息
}

void send_callback(int status)
{
    if (status == 1)
    {
        printf("Email sent successfully!\n"); // 打印发送成功
    }
    else
    {
        printf("Email failed to send.\n"); // 打印发送失败
    }
}

int main()
{
    char recipient[] = "example@example.com"; // 收件人邮箱地址
    char subject[] = "Test email"; // 邮件主题
    char body[] = "This is a test email."; // 邮件正文

    // 发送邮件并设置回调函数
    send_email(recipient, subject, body, send_callback);

    // 接收邮件并设置回调函数
    receive_email(print_received_msg);

    return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值