سلام ...
توي IDE پايتون وقتي با استفاده از from smtplib import SMTP_SSL ايميل ميفرستم هيچ مشكلي نيست و ايميل ارسال ميشه . ولي وقتي همين دستورات رو ميبرم توي جنگو ايميل ارسال نميشه . چرا؟
سلام ...
توي IDE پايتون وقتي با استفاده از from smtplib import SMTP_SSL ايميل ميفرستم هيچ مشكلي نيست و ايميل ارسال ميشه . ولي وقتي همين دستورات رو ميبرم توي جنگو ايميل ارسال نميشه . چرا؟
تنظيماتش رو انجام دادم ولي بازم نشد. ارورش ميگه Connection refused
# Send Email ...
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.chmail.ir'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'username@chmail.ir'
EMAIL_HOST_PASSWORD ='password'
این که درسته
ارسالش رو از send_mail خود جنگو استفاده میکنی؟
ن ...
من يه ايميل توي جيميل دارم و يكي توي chmail. در حالت عادي وبدون جنگو و فقط داخل خود پايتون و با استفاده از smtplib ميتونم به راحتي از هركدوم يكي از ايميلها به اون يكي ايميل ارسال كنم ولي وقتي كه همين دستورات رو داخل views جنگو ميبرم كار نميكنن.
اینو تویه کدهام پیدا کردم داشت خاک میخورد فک کنم خوشحال میشه ازش استفاده کنید ;)
قسمتی از views.py
from django.shortcuts import render,get_list_or_404,get_object_or_404
from django.contrib import messages
from django.core.mail import send_mail
from django.template.context import RequestContext
from django.conf import settings
from django.views.generic import DetailView, ListView
from .models import Store, UserComment
from .forms import UserCommentForm
from myproject.email_info import message, subject
def detailview(request,pk):
lastest_comment_list=UserComment.objects.filter(co mment_on_product_id=pk)
selected_object=get_object_or_404(Store,pk=pk)
context={'lastest_comment_list':lastest_comment_li st,'selected_object':selected_object}
form =UserCommentForm(request.POST or None)
if form.is_valid():
form.instance.comment_on_product_id_id= selected_object.product_id
save_it=form.save(commit=False)
save_it.save()
ton=[save_it.user_name]
send_mail(subject, message, settings.EMAIL_HOST_USER,ton, fail_silently=True)
messages.success(request, 'Thanck u . you have been registered!')
return render(request,'details.html',locals())
قسمتی از settings.py
#sent email
from .email_info import EMAIL_HOST, EMAIL_HOST_PASSWORD, EMAIL_HOST_USER, EMAIL_PORT, EMAIL_USE_TLS
EMAIL_USE_TLS=EMAIL_USE_TLS
EMAIL_PORT=EMAIL_PORT
EMAIL_HOST_USER=EMAIL_HOST_USER
EMAIL_HOST_PASSWORD=EMAIL_HOST_PASSWORD
EMAIL_HOST=EMAIL_HOST
و در نهایت فایلی به نامemail_info.py که دستی ایجاد کردم :
EMAIL_USE_TLS=True
EMAIL_HOST='smtp.gmail.com'
EMAIL_PORT =587
EMAIL_HOST_USER="ایمیلتون"
EMAIL_HOST_PASSWORD =پسوردتون"
subject='thank u . you have been registerd!'
message="this is the message"
اين كد:
ممكنه اونجايي كه ازش هاست گرفتم نذاره ايميل ارسال شه؟
کد HTML:if request.method == 'POST': try: message='Name of User : '+request.POST['name']+'\n\n\n'+'Subject : '+request.POST['subject']+'\n\n'+request.POST['message']+'\n\n\n'+'Email Address : '+request.POST['email'] send_mail(request.POST['subject'], message,from_email, to_email) return render(request,'contactform.html',{'send':request.POST['name']}) except: return render(request,'contactform.html',{'fail':request.POST['name']}) else: return render(request,'contactform.html')
آخرین ویرایش به وسیله arman54 : دوشنبه 06 مهر 1394 در 23:45 عصر
تو پستاي قبل كه گذاشتم...
ارورش ميگه Connection refused
===============================
to رو بصورت ليست دادم بازم نشد...
آخرین ویرایش به وسیله arman54 : چهارشنبه 08 مهر 1394 در 00:12 صبح
منظور معمولا از ارور اینه که کل traceback رو بزاری حالا در هرصورت این رو نگاه کن