アリ雲メールの発送は25ポートを使用できません。


ローカルテストはメール機能が流暢で、アリ雲に配備されてからいつもNOT FINDを発見しました。これはおかしいです。初めはurlが間違ったと思っていましたが、Nを何回も確認したら全く同じです。その後、Baiduの様々な種類は、アリ雲が25ポートを無効にしたためです。いろいろな資料を調べて、解決方法はさまざまです。いくつかの解決策を試してみましたが、問題は全部解決しました。今は次のように整理します。
まず、アリさんからの公式ソリューションです。SMTPでメールを送ります。コードは下記の通りです。

# -*- coding:utf-8 -*-
import urllib, urllib2
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
#      ,             
username = '[email protected]'
#      ,             
password = 'XXXXXXXX'
#        ,       ,  30 
rcptlist = ['[email protected]', '[email protected]']
receivers = ','.join(rcptlist)
#    multipart      
msg = MIMEMultipart('mixed')
msg['Subject'] = 'Test Email'
msg['From'] = username
msg['To'] = receivers
#    multipart/alternative   text/plain   
alternative = MIMEMultipart('alternative')
textplain = MIMEText('     ', _subtype='plain', _charset='UTF-8')
alternative.attach(textplain)
#    multipart/alternative   text/html   
texthtml = MIMEText('     ', _subtype='html', _charset='UTF-8')
alternative.attach(texthtml)
#   alternative    mixed    
msg.attach(alternative)
#     
# xlsx      
xlsxpart = MIMEApplication(open('    1.xlsx', 'rb').read())
xlsxpart.add_header('Content-Disposition', 'attachment', filename=Header("    1.xlsx","utf-8").encode())
msg.attach(xlsxpart)
# jpg      
jpgpart = MIMEApplication(open('2.jpg', 'rb').read())
jpgpart.add_header('Content-Disposition', 'attachment', filename=Header("2.jpg","utf-8").encode())
msg.attach(jpgpart)
# mp3      
mp3part = MIMEApplication(open('3.mp3', 'rb').read())
mp3part.add_header('Content-Disposition', 'attachment', filename=Header("3.mp3","utf-8").encode())
msg.attach(mp3part)
#     
try:
  client = smtplib.SMTP()
  #python 2.7    ,     SSL,      client
  #client = smtplib.SMTP_SSL()
  client.connect('smtpdm.aliyun.com')
  client.login(username, password)
  #            
  client.sendmail(username, rcptlist, msg.as_string())
  client.quit()
  print '      !'
except smtplib.SMTPRecipientsRefused:
  print '      ,      '
except smtplib.SMTPAuthenticationError:
  print '      ,    '
except smtplib.SMTPSenderRefused:
  print '      ,      '
except smtplib.SMTPException,e:
  print '      , ', e.message

公式のはもちろん使いやすくて、書いたのはあまりに詳しくて複雑で、本当にもったいなくて、できるだけ少ないのがコードを直すため、放棄しました。
以下は2つのユーザーが提供する簡単な解決策です。
これは簡略版のSMTP方式です。

import smtplib
from email.mime.text import MIMEText

msg_from = '[email protected]' #      
passwd = '****' #            (        ,       )
msg_to = ['****@qq.com','**@163.com','*****@163.com'] #      

subject = "    " #   
content = "    ,      ,   "
#     MIMEText  (        )
# _text_:    
msg = MIMEText(content)
#       
msg['Subject'] = subject
#        
# msg['Subject'] = Header(subject, 'utf-8')
#      
msg['From'] = msg_from
#      
msg['To'] = '[email protected]'
# msg['To'] = '       '
try:
  #   ssl    ,     ,  
  s = smtplib.SMTP_SSL("smtp.qq.com", 465)
  #      
  s.login(msg_from, passwd)
  #     :   ,   ,      
  s.sendmail(msg_from, msg_to, msg.as_string())
  print('  ')
except s.SMTPException as e:
  print(e)
finally:
  s.quit()
方法二:send_を使用するためにメールモジュール送信(私のもとのコードと似ています。変更が少ないです。壁裂のオススメ)
setting.pyの配置は以下の通りです。

# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.qq.com' #     163    smtp.163.com
EMAIL_PORT = 465  #    
EMAIL_HOST_USER = '[email protected]' #         
EMAIL_HOST_PASSWORD = '***' #          
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
#       ,          
#DEFAULT_FROM_EMAIL = 'lqz<'[email protected]>'

EMAIL_USE_SSL = True  #  ssl


#EMAIL_USE_TLS = False #   tls
#EMAIL_USE_SSL   EMAIL_USE_TLS     ,        True
view.py

from django.core.mail import send_mail  #       
from threading import Thread   #       
from threading import Thread
  t1 = Thread(target=send_mail,args=(
  '  %s   %s   '%(article_name,user_name),
  '      :%s'%(content),
  settings.EMAIL_HOST_USER,
  ['[email protected]'] )) 
  t1.start()
ここで、アリ雲メールの発送について25ポートを使うことができないという問題を解決した記事を紹介します。これに関連して、アリ雲メールは25ポートの内容を使えません。以前の文章を検索してください。また、下記の関連記事を見てください。これからもよろしくお願いします。