SMTP（Simple Mail Transfer Protocol）は、インターネット上でEメールを送信するために使用されるプロトコルです。純粋なCでのSMTPの実装には、SMTPサーバーに接続するソケットの作成、SMTPコマンドを使用したメッセージの形成、およびサーバーの回答の処理が含まれる場合があります。以下は、純粋なcでSMTPを使用して電子メールを送信することを示すコードの例です。

「#include <tdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

#define smtp_port 25
#define maxline 1024

int main（int argc、char ** argv）{
    intskfd;
    struct sockaddr_in servaddr;
    char sendline [maxline]、recvline [maxline];

    if（argc！= 2）{
        printf（ "usage：％s <ip address> \ n"、argv [0]）;
        返品1;
    }

    if（（sockfd = socket（af_inet、sock_stream、0））<0）{
        Perror（ "ソケットエラー"）;
        返品1;
    }

    bzero（＆servaddr、sizeof（servaddr））;
    servaddr.sin_family = af_inet;
    servaddr.sin_port = htons（smtp_port）;
    if_pton（af_inet、argv [1]、＆servaddr.sin_addr）<= 0）{
        perror（ "inet_ptonエラー"）;
        返品1;
    }

    if（connect（sockfd、（struct sockaddr *）＆servaddr、sizeof（servaddr））<0）{
        Perror（ "Connect Error"）;
        返品1;
    }

    while（fgets（sendline、maxline、stdin）！= null）{
        write（sockfd、sendline、stren（sendline））;

        if（read（sockfd、recvline、maxline）== 0）{
            Perror（ "Serverが事前に終了しました"）;
            返品1;
        }

        fputs（recvline、stdout）;
    }

    close（sockfd）;
    0を返します。
}
`` `
これは単なる簡単な例であり、純粋なCにSMTPを完全に実装するために追加の作業が必要になる場合があります。もっと知りたいですか？
SMTP (Simple Mail Transfer Protocol) - это протокол, используемый для отправки электронной почты через Интернет. Реализация SMTP на чистом C может включать в себя создание сокета для соединения с сервером SMTP, формирование и отправку сообщений с использованием команд SMTP и обработку ответов сервера. Вот пример кода, который демонстрирует отправку электронного письма с использованием SMTP на чистом C:

``` #include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

#define SMTP_PORT 25
#define MAXLINE 1024

int main(int argc, char **argv) {
    int sockfd;
    struct sockaddr_in servaddr;
    char sendline[MAXLINE], recvline[MAXLINE];

    if (argc != 2) {
        printf("Usage: %s <IP address>\n", argv[0]);
        return 1;
    }

    if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        perror("socket error");
        return 1;
    }

    bzero(&servaddr, sizeof(servaddr));
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(SMTP_PORT);
    if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) {
        perror("inet_pton error");
        return 1;
    }

    if (connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0) {
        perror("connect error");
        return 1;
    }

    while (fgets(sendline, MAXLINE, stdin) != NULL) {
        write(sockfd, sendline, strlen(sendline));

        if (read(sockfd, recvline, MAXLINE) == 0) {
            perror("server terminated prematurely");
            return 1;
        }

        fputs(recvline, stdout);
    }

    close(sockfd);
    return 0;
}
```
Это лишь простой пример и может потребоваться дополнительная работа для полной реализации SMTP на чистом C. Хотите узнать больше?