これは、Cに関するSMTP実装の例です。

#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>

int main（）{
    intsk = socket（af_inet、sock_stream、0）;
    struct sockaddr_in server;
    char message [1000]、server_reply [2000];
    
    server.sin_addr.s_addr = inet_addr（ "smtp.yandex.ru"）;
    server.sin_family = af_inet;
    server.sin_port = htons（25）;
 
    connect（sock、（struct sockaddr *）＆server、sizeof（server））;
 
    recv（sock、server_reply、2000、0）;
    printf（ "％s"、server_reply）;
 
    sprintf（メッセージ、 "helo emple.com \ r \ n"）;
    send（sock、message、strlen（message）、0）;
    recv（sock、server_reply、2000、0）;
    printf（ "％s"、server_reply）;
    
    //ここでは、SMTPの適切な実装を継続できます
    // ...
 
    閉じる（靴下）;
    0を返します。
}
Вот пример реализации SMTP на C:

#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>

int main() {
    int sock = socket(AF_INET, SOCK_STREAM, 0);
    struct sockaddr_in server;
    char message[1000], server_reply[2000];
    
    server.sin_addr.s_addr = inet_addr("smtp.yandex.ru");
    server.sin_family = AF_INET;
    server.sin_port = htons( 25 );
 
    connect(sock, (struct sockaddr *)&server, sizeof(server));
 
    recv(sock, server_reply, 2000, 0);
    printf("%s", server_reply);
 
    sprintf(message, "HELO example.com\r\n");
    send(sock, message, strlen(message), 0);
    recv(sock, server_reply, 2000, 0);
    printf("%s", server_reply);
    
    // здесь вы можете продолжить соответствующую реализацию SMTP
    // ...
 
    close(sock);
    return 0;
}