>

나는 이미 존재하는 smpt 서버를 사용하기 위해, 특히 nodemailer와 같은 모듈을 통해 nodejs를 설정하는 것에 대한 많은 블로그와 스택 오버플로 질문을 보았습니다. 이미 본 것 중 일부 :

https://www.zeolearn.com/magazine/sending-and-receiving-emails-using-nodejs

smtp 클라이언트를 사용하여 비밀번호를 제공하지 않고 이메일을 보냅니다.

Nodejs에서 알림 이메일을 발송하기 위해 사용자 정의 smtp 서버를 작성하는 방법

Node.js로 이메일을 보내시겠습니까? (닫힌 이유를 모릅니다)

smtp 클라이언트를 사용하여 비밀번호를 제공하지 않고 이메일을 보냅니다.

Gmail 및 NodeJS가있는 Nodemailer

Nodemailer는 SMTP 전송없이 이메일을 보냅니다. -- 이것은조금내가 원하는 것에 더 가까이

Nodejs에서 알림 이메일을 발송하기 위해 사용자 정의 smtp 서버를 작성하는 방법 -이거 너무 가까워아직 답변이 없습니다

nodemailer를 사용하여 Node.js를 통해 이메일을 보내지 못했습니다

SmtpJs API가 작동하지 않습니다! JavaScript 또는 JQuery와 함께 SMTP 서버를 사용하여 이메일을 보내는 방법이 있습니까?

이메일 NodeJS가 보낼 수 없습니다

nodejs의 smtp 메일 서버에 대한 제안 사항이 있습니까? -이것 만이 대답하려고 시도하는 유일한 것일 수도 있습니다.비록문서 거기에 언급 된 서비스 (smpt-server)의 경우 SMPT 서버의 실제 제작이 처음부터 어디인지 알 수 없습니다. 즉 nodeJS를 사용하여 자신의 myemail@mydomain.com을 만드는 방법을 보여주는 부분이 보이지 않습니다. (NodeJS 서버가 Google 경쟁 엔진과 같은 일종의 Linux VM에 구성되어 있다고 가정).

이 모든 답변과 블로그는 이메일 전송만을 다루었습니다.통하다다른 이메일 클라이언트.

다른 이메일 서버에는 관심이 없습니다.

나는 Gmail이나 다른 타사 이메일 제공 업체를 믿지 않습니다.

나는 내 자신을 호스트하고 싶다.

내 컴퓨터에서

내 의도를 의심하지 마십시오.

완벽하게 유효한 프로그래밍 질문입니다.

처음부터 완전히 만드는 방법 (예 :nodeJS에서 "net"내장 라이브러리 사용외부 의존성이 전혀 없음) myptmail@mydomain.com에서 메일을 수신하고 타사없이 myemail@mydomain.com에서 이메일을 발송할 수있는 SMPT 메일 서버 (어딘가에 HTTPS 가상 머신에 자신의 도메인이 등록되어 있다고 가정)를 작성하십시오. 서버조금도.

내가 어떻게 적어도스타트이것을하기 위해? SMPT 소켓 프로토콜을 다루는 가능한 모든 참조 또는 자습서는 훌륭한 시작이 될 것입니다.


  • 답변 # 1

    친숙한 조언-로컬 컴퓨터에서 메일을 받고 싶다면 postfix, exim4 또는 sendmail과 같은 상용 MTA를 사용하고 싶을 것입니다.

    나는 문자 그대로 MTA를 구현하는 데 경력을 쌓았 기 때문에 이것이 당신에게 메일 트래픽을 완전히 제어 할 수있는 해결 된 문제이며 경고해야 할 까다로운 문제가 있음을 경고해야한다고 생각합니다. 대규모 메일 볼륨으로 작동하는 MTA를 작성하십시오.

    즉, SMTP (note spelling)는 매우 간단한 프로토콜이며 관심이있는 경우 구현할 수있는 "첫 번째 프로토콜"입니다. NodeJS로 작성하는 것은 매우 쉽습니다.

    첫 번째 버전은 1982 년경 IETF STD-10이라고하는 RFC-821로 출시되었습니다. 수년에 걸쳐 RFC-2821 및 여러 관련 사양으로 업데이트되었지만 기본 RFC-821 지원을 통해 오늘날 인터넷의 99 % 호스트와 대화해야 할 내용을 얻을 수 있습니다. (TLS에 대한 ESMTP 지원이 필요하면 그 수가 줄어 듭니다. 그러나 이는 그리 어렵거나 크게 다르지 않습니다).

    데몬은 포트 25에서 수신 대기해야하며 다음과 같은 명령을 처리해야합니다.

    YOU:  220 my.computer.com SMTP Service Ready
    THEM: EHLO blah blah
    YOU:  500 Syntax Error. Try again using SMTP.
    THEM: HELO blah blah
    YOU:  250 G'day mate
    THEM: MAIL FROM: <billg@microsoft.com>
    YOU:  250 Sender Okay
    THEM: RCPT TO: <steve@apple.com>
    YOU:  250 OK
    THEM: DATA
    YOU:  354 Enter mail, end with "." on a line by itself...
    THEM: <BUNCH OF STUFF>
          .
    YOU:  250 Mail accepted
    THEM: QUIT
    YOU:  221 Goodbye
    
    

    분명히 여기에는 wrt 오류 처리 등이 있습니다. 사양을 읽으십시오. 그러나 이것이 그 요점입니다. 숫자는 응답 코드이며 특정 의미를 갖습니다. 줄은 \ r \ n으로 구분되며 너비가 1024 바이트보다 작아야합니다.

    는 전자 메일 메시지이며 점으로 된 선이 없습니다. 이메일에 이와 같은 점이 있으면 다른 쪽 끝이 추가 점을 보냅니다. 이것은 사양에 있습니다.

    마지막으로 $MAIL 파일 (아마도/var/mail/username 또는/var/spool/mail/username)에 MUA를 지정하십시오. Pine, Alpine, Elm 또는 mutt은 이러한 것들을 분류하는 데 좋은 MUA를 만듭니다.

    From (NO 콜론)으로 시작하고 \ n으로 끝나야합니다. 이것이 버클리 mbox 파일 형식입니다. SMTP 트랜잭션의 MAIL FROM 헤더를 반영해야합니다.

    이 파일 형식은 매우 일반적이며 대부분의 POP3 및 IMAP4 서버에서 지원됩니다. 모질라 썬더 버드에서도 읽을 수 있습니다. 나는 Netscape Mail이 그날 다시 그것을 지원한다는 것을 알고 있습니다.

관련 자료

  • 이전 algorithm - 자바 스크립트 - 정렬되지 않은 다른 컬렉션뿐만 아니라 정렬 된 배열에 첫 번째 요소가 있는지 확인하십시오
  • 다음 for loop - gnuplot에서 하나의 데이터 포인트의 색상 만 변경