django发送的垃圾邮件过滤器

django发送的垃圾邮件过滤器,django,email,spam,Django,Email,Spam,我有以下代码通过django发送电子邮件,但所有电子邮件都被收件人垃圾邮件过滤器过滤。据我所知,您可以将django配置为使用外部SMTP服务器,并且我已经在Google应用程序上设置了一个帐户,我希望可以用于此目的 有人能帮助我们实现这一点吗 # conding=utf8 from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email.MIMEText import MI

我有以下代码通过django发送电子邮件,但所有电子邮件都被收件人垃圾邮件过滤器过滤。据我所知,您可以将django配置为使用外部SMTP服务器,并且我已经在Google应用程序上设置了一个帐户,我希望可以用于此目的

有人能帮助我们实现这一点吗

# conding=utf8

from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders

from subprocess import Popen, PIPE
import os

from pictures.models import S5Picture
from django.core.management.base import NoArgsCommand

class Command(NoArgsCommand):

    def send_mail(self, send_from, send_to, subject, text, files=[]):
        msg = MIMEMultipart()
        msg['From'] = send_from
        msg['To'] = send_to
        msg['Date'] = formatdate(localtime=True)
        msg['Subject'] = subject

        msg.attach( MIMEText(text) )
        for f in files:
            part = MIMEBase('image', "jpeg")
            part.set_payload( open(f,"rb").read() )
            Encoders.encode_base64(part)
            part.add_header('Content-Disposition', 'attachment; filename="samsung_gs5_photo.jpg"')
            msg.attach(part)

        part = MIMEBase('application', 'pdf')
        part.set_payload(open('/usr/share/nginx/www/upload/static/BELL_OFFER_WITH_GS5_V3.pdf', 'rb').read())
        Encoders.encode_base64(part)
        part.add_header('Content-Disposition', 'attachment; filename="MMVA_Bell_Offer.pdf"')
        msg.attach(part)

        p = Popen(['/usr/sbin/sendmail', '-t'], stdin=PIPE)
        p.communicate(msg.as_string())
        p.stdin.close()

    def handle(self, *args, **kwargs):
        for photo in S5Picture.objects.filter(sent=False):
            try:
                print(photo.email, photo.picture)
                self.send_mail('photo@vps73224.ovh.net', photo.email, 'Your Samsung GS5 Photo!', '', ['/usr/share/nginx/www/upload/static/' + photo.picture])
                photo.sent = True
                photo.save()
            except Exception as e:
                print(e)
                pass

这在很大程度上取决于您试图通过邮件发送的内容类型。它还高度依赖于您的服务器IP、ISP和URL。这与Django没有任何关系。

使用GMail帐户发送邮件不一定能解决垃圾邮件问题。您应该首先设置正确的SPF和DKIM记录,然后查看问题是否仍然存在。配置SPF和DKIM在这里不是主题。