Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 发送电子邮件时字符串索引超出范围_Python_Django_Email - Fatal编程技术网

Python 发送电子邮件时字符串索引超出范围

Python 发送电子邮件时字符串索引超出范围,python,django,email,Python,Django,Email,我在尝试使用Django EmailMultiAlternatives发送邮件时遇到以下错误:。我尝试搜索这个错误,但没有运气,我也尝试删除或更改电子邮件的每个变量,但没有运气 代码如下: def spremembapodatkovproc(request): if request.method == 'POST': req_id = request.POST.get('req_num', 'Neznan ID zahtevka') old_email =

我在尝试使用Django EmailMultiAlternatives发送邮件时遇到以下错误:。我尝试搜索这个错误,但没有运气,我也尝试删除或更改电子邮件的每个变量,但没有运气

代码如下:

def spremembapodatkovproc(request):
    if request.method == 'POST':
        req_id = request.POST.get('req_num', 'Neznan ID zahtevka')
        old_email = request.user.email
        old_name = request.user.get_full_name
        new_email = request.POST.get('email_new', 'Nov e-mail ni znan')
        new_fname = request.POST.get('fname_new', 'Novo ime ni znano')
        dokument = request.FILES.get('doc_file')
        komentar = request.POST.get('comment', 'Ni komentarja')
        # try:
        plaintext = get_template('email/usr-data-change.txt')
        htmly = get_template('email/usr-data-change.html')

        d = Context(
            {
                'old_email': old_email,
                'old_fname': old_name,
                'new_email': new_email,
                'new_fname': new_fname,
                'req_id': req_id,
                'komentar': komentar,
                'user_ip': request.META.get('REMOTE_ADDR', 'IP Naslova ni mogoče pridobiti.')
            }
        )

        subject, from_email, to = 'eBlagajna Sprememba podatkov', 'eblagajna@ksoft.si', ["info@korenc.eu"]
        text_content = plaintext.render(d)
        html_content = htmly.render(d)
        print(text_content)
        msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
        msg.attach_alternative(html_content, "text/html")

        msg.mixed_subtype = 'related'

        for f in ["templates\\email\\img1.png"]:
            fp = open(os.path.join(BASE_DIR, f), 'rb')
            msg_img = MIMEImage(fp.read())
            fp.close()
            msg_img.add_header('Content-ID', '<{}>'.format(f))
            msg.attach(msg_img)
        msg.send()
def SPREMEMBAPODATCOVPROC(请求):
如果request.method==“POST”:
req_id=request.POST.get('req_num','Neznan id zahtevka')
旧电子邮件=request.user.email
旧名称=request.user.get\u全名
new_email=request.POST.get('email_new','Nov email ni znan')
new\u fname=request.POST.get('fname\u new','Novo ime ni znano')
dokument=request.FILES.get('doc\u file')
komentar=request.POST.get('comment','Ni-komentarja')
#尝试:
明文=获取模板('email/usr data change.txt')
htmly=get_模板('email/usr data change.html')
d=上下文(
{
“旧电子邮件”:旧电子邮件,
“旧名称”:旧名称,
“新电子邮件”:新电子邮件,
“新名称”:新名称,
“请求id”:请求id,
“科门塔”:科门塔,
'user_ip':request.META.get('REMOTE_ADDR','ip Naslova ni mogoče pridobiti')
}
)
主题,从电子邮件发送至='eBlagajna Sprememba podatkov','eblagajna@ksoft.si', ["info@korenc.eu"]
text\u content=纯文本。呈现(d)
html\u content=htmly.render(d)
打印(文本内容)
msg=emailmultialternations(主题、文本内容、发件人/电子邮件[收件人])
msg.附加可选内容(html内容,“文本/html”)
msg.mixed_subtype='相关'
对于[“templates\\email\\img1.png”]中的f:
fp=open(os.path.join(BASE_DIR,f),'rb')
msg_img=MIMEImage(fp.read())
fp.close()
msg_img.add_标题('Content-ID',''.format(f))
附加消息(msg\u img)
msg.send()

感谢您的帮助。

问题在于另一个列表中的电子邮件包装列表冗余

所以基本上变量
to=[”info@korenc.eu“]
,然后当线路运行时

msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
它用括号再次将
包装到
。和
[to]=[]info@korenc.eu“]]
,但它应该是简单的列表。因此,通过将问题行更改为

msg = EmailMultiAlternatives(subject, text_content, from_email, to)

一切正常。

问题在于在另一个列表中有多余的电子邮件包装列表

所以基本上变量
to=[”info@korenc.eu“]
,然后当线路运行时

msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
它用括号再次将
包装到
。和
[to]=[]info@korenc.eu“]]
,但它应该是简单的列表。因此,通过将问题行更改为

msg = EmailMultiAlternatives(subject, text_content, from_email, to)
一切正常。

您有
to=[”info@korenc.eu“]
并且在初始化
EmailMultiAlternatives
实例时,您尝试将其包装在
[]
括号中。尝试将
EmailMultiAlternations(主题,文本内容,从电子邮件[到])更改为
EmailMultiAlternations(主题,文本内容,从电子邮件,到)
您有
到=[”info@korenc.eu“]
并且在初始化
EmailMultiAlternatives
实例时,您尝试将其包装在
[]
括号中。尝试将
EmailMultiAlternations(主题、文本内容,从电子邮件[到])更改为
EmailMultiAlternations(主题、文本内容,从电子邮件,到)