2012-08-11 3 views
1

내 응용 프로그램에 자동화 된 전자 메일 작업이 설정되어 있습니다. 그게 매일 내가 약속을 생각 나게하기 위해 고객에게 응용 프로그램 특정 이메일을 보내는 것입니다. Gmail의 smtp를 여기 간단한 메시지 이외의 제작 작업에 적합하게 사용하고 있습니까? Apache James와 같은 SMTP 서버를 구현하는 데 어떤 이점이 있습니까?프로덕션 메시징에 적합한 Gmail SMTP

+0

"프로덕션 용도로 사용 하시겠습니까?" 글쎄, 그들이 너를 뭘 보증하니? 정말로 중요한 경우에는 보장 된 서비스 수준을 구입하는 것이 좋습니다. –

+0

보장 된 서비스 수준은 무엇입니까? 내가 gmail에서 구입 한 제품입니까? – ryandlf

+0

"우리는 약속 한대로 99.99 %의 시간 동안 서비스를 제공 할 것입니다." 나는 그들의 온라인 문서에서 이것을 볼 수 없다면 Google에 전화 할 것을 제안합니다. –

답변

0

@Richthofen에 동의합니다 - 프로덕션 환경에서 Gmail을 사용하여 이메일을 보내는 것은 좋지 않은 (비 윤리적 인) 아이디어입니다. Amazon SES 또는 Sendgrid가 최상의 솔루션입니다. 자체 SMTP 서버를 실행하려면 응용 프로그램과 리소스를 공유하므로 속도가 느려질 수 있습니다.

그러나 gmail을 사용하여 javamail API를 사용하여 개발/테스트 환경을 테스트합니다. 코드는 다음과 같습니다.

public class EmailSender{ 

    public void send(){ 
     //javamail code 
     Session mailSession = createSmtpSession(); 
     //javamail code 
    } 

    private Session createSmtpSession() { 
     final Properties props = new Properties(); 
     props.setProperty ("mail.host", "smtp.gmail.com"); 
     props.setProperty("mail.smtp.auth", "true"); 
     props.setProperty("mail.smtp.port", "" + 587); 
     props.setProperty("mail.smtp.starttls.enable", "true"); 
     props.setProperty ("mail.transport.protocol", "smtp"); 
     // props.setProperty("mail.debug", "true"); 

     return Session.getDefaultInstance(props, new javax.mail.Authenticator() { 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication(
        "<gmail ID in [email protected] format goes here>", 
        "<password goes here>"); 
      } 
     }); 
    } 
} 
+1

비 윤리적? 나는 스팸성 마케팅 이메일을 보내는 것에 대해 이야기하고 있지 않다는 것을 반복하고 싶습니다. 내 자동화 된 메일 시스템은 약속 미리 알림 또는 등록 확인과 같은 트랜잭션 전자 메일 보내기에만 사용됩니다. – ryandlf

+0

죄송합니다. 위의 의견란에 귀하의 목적을 언급했을 때 미안 해요. 내 고객 중 한 명이 중간 크기의 첨부 파일을 포함하여 이메일 전송을 위해 Google 애플 리케이션 이메일 계정을 사용하고 있으며, 매우 안정적이었습니다. –

1

Gmail TOS는 원치 않는 상업성 전자 메일을 금지합니다. 일반적으로 나는 Gmail을 대중에게 의존하는 서비스를 배포하지 않을 것입니다. 100 개 이상의 사람들에게 동일한 메시지를 보내려고하면 Gmail이 100 대 이메일 수신자 목록에 어울리는 것 같습니다.

일반적으로 평판 때문에 발신 메일에 고유 한 IP를 원합니다. 대부분의 고객은 프리랜서 업무를 할 때 http://sendgrid.com/과 같은 저렴한 파트너 서비스를 추천합니다. 자신의 IP를 보유한다는 것은 합법적으로 대량 이메일 발신자로서의 평판을 관리 할 수 ​​있음을 의미합니다. 또한 TOS 위반으로 Gmail을 종료하는 것에 대해 걱정할 필요가 없습니다. Gmail은 또한 전송 가능성에 대한 통계를 제공하지 않으므로 전송 성공 여부를 알 수 없습니다.

주요 이메일 마케팅 담당자를 위해 일하면서 요즘에는 SMTP 서버에 메시지를 보내는 것만으로는 충분하지 않다는 것을 알 수 있습니다. 모든 주요 메일 서비스 제공 업체는 대량 메일을 위해 보낸 사람 식별 키가 필요한 작업을 수행합니다. 또한 특정 시간 내에 너무 많은 메시지를 제출하게되는 메시지 및 미터기 발신자를 측정합니다. 스팸 폴더가 아닌 메일을 배달하려면 많은 작업을 수행하고 전용 IP를 사용하는 전용 서버를 가동하거나 필요한 작업을 수행 할 수있는 공급 업체를 사용해야합니다.

+1

나는 그가 스팸을 보내고 싶지는 않지만 대신 Googles SMTP 서버가 의존하고 있는지 알고 싶습니다. –

+0

대량 메일로 간주되는 것은 무엇입니까? 나는 수천명의 사람들에게 마케팅 이메일을 보내는 것에 대해 이야기하는 것이 아니라, 데이터베이스를 통해 실행하고, 특정 날짜를 기준으로 보낸 미리 알림 메시지를 필요로하는 연락처를 찾은 다음, 각 연락처에 사용자 정의 메시지를 전송하는 방법을 말합니다. 하나는 상기 알림. 대량 메일 발송으로 분류 되나요? 또한 사용자가 등록 할 때와 같은 트랜잭션 전자 메일을 보내기 위해 javamail을 사용할 것입니다. – ryandlf

+0

업에 대해 걱정하고 있습니다. 그렇습니다.하지만 저는 구글의 시간에 상당히 자신감이 있습니다. 나는 gmail의 smtp가 나의 것과 같은 상황에서 사용되도록 의도되었는지 또는 내 자신의 smtp 서버를 구현하는 것이 더 나은지 (sendgrid와 같은 다른 공급자를 사용하고 싶지 않다는 것을 고려할 때) 더 많은 것을 염려했다. 그리고 내 자신의 smtp 서버를 사용하는 이점. 실질적인 이익이없고 Gmail이 충분하다면, 내 서버를 배치하는 데 에너지를 소비하는 것이 합리적이지 않습니다. 그렇게하지 않으면 상당한 이점이 있습니다. – ryandlf

관련 문제