簡體   English   中英

EmailMultiAlternatives無法建立連接,因為目標計算機主動拒絕了它

[英]EmailMultiAlternatives no connection could be made because the target machine actively refused it

我正在嘗試發出ajax請求,以為用戶生成密碼並向他們發送包含密碼的電子郵件。 除了我在msg.send()遇到的錯誤,所有這些都工作正常

阿賈克斯:

<script type="text/javascript">
        var frm = $('#retrieveKeyForm');

            frm.submit(function (e) {

                e.preventDefault();

                $.ajax({
                    type: frm.attr('method'),
                    url: frm.attr('action'),
                    data: frm.serialize(),
                    success: function (data) {
                        console.log('Submission was successful.');
                    },
                    error: function (data) {
                        console.log('An error occurred.');
                        console.log(data);
                    },
                });
            });
        </script>

Views.py

    class GenerateSecretKey(APIView):
        def get(self, request):
    #Get email address from request
            emailaddr = request.GET.get('email')
            print(emailaddr)
#Show the email address(for debugging)
            min_char = 10
            max_char = 12
            allchar = string.ascii_letters + string.digits
#Generate passsword
            password = "".join(choice(allchar) for x in range(randint(min_char, max_char)))
            print("Your password is {}".format(password))

            subject, from_email, to = 'Your key is ready!', 'test@test.com', emailaddr
            html_content = render_to_string('testapp/email.html', {'password':password})
            text_content = strip_tags(html_content) 
            msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
            msg.attach_alternative(html_content, "text/html")
            msg.send()
            return Response({'Success':'Your key has been generated. Please check your email.'})

錯誤:

ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

此代碼塊工作得更好。 我沒有配置SMTP服務器或指定任何SMTP詳細信息,所以這就是我收到該錯誤的原因。 特別感謝這個家伙https://github.com/llamafarmer/email/blob/master/sendEmailAttachment.py

        fromaddr = "test@test.com"    
        toaddr = request.GET.get('email')      
        print(toaddr)
        smtp_user = "test@gmail.com"    
        smtp_pass = "abctest"    
        msg = MIMEMultipart()
        msg['From'] = fromaddr
        msg['To'] = toaddr
        msg['Subject'] = "Ready!"    


        body = render_to_string('testapp/email.html', {'password':password})
        msg.attach(MIMEText(body, 'html'))
        server = smtplib.SMTP('in-v3.mailjet.com', 587) 
        server.starttls()
        server.login(smtp_user, smtp_pass)
        text = msg.as_string()
        server.sendmail(fromaddr, toaddr, text)
        server.quit()
        return Response({'Success':'Your key has been generated. Please check your email.'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM