# زبان های اسکریپتی > Python >  چگونگي ارسال ايميل در جنگو

## arman54

سلام ...
توي IDE پايتون وقتي با استفاده از    from smtplib import SMTP_SSL   ايميل ميفرستم هيچ مشكلي نيست و ايميل ارسال ميشه . ولي وقتي همين دستورات رو ميبرم توي جنگو  ايميل ارسال نميشه . چرا؟

----------


## n.nowroozi

> سلام ...
> توي IDE پايتون وقتي با استفاده از    from smtplib import SMTP_SSL   ايميل ميفرستم هيچ مشكلي نيست و ايميل ارسال ميشه . ولي وقتي همين دستورات رو ميبرم توي جنگو  ايميل ارسال نميشه . چرا؟


تنظیمات ایمیل رو باید توی setting خود جنگو انجام بدی

----------


## arman54

تنظيماتش رو انجام دادم ولي بازم نشد. ارورش ميگه     Connection refused

----------


## n.nowroozi

> تنظيماتش رو انجام دادم ولي بازم نشد. ارورش ميگه     Connection refused


بزار ستینگ رو

----------


## arman54

# 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'

----------


## n.nowroozi

این که درسته 
ارسالش رو از send_mail خود جنگو استفاده میکنی؟

----------


## arman54

ن ...
من يه ايميل توي جيميل دارم و يكي توي chmail. در حالت عادي وبدون جنگو  و فقط داخل خود پايتون و با استفاده از  smtplib ميتونم به راحتي از هركدوم يكي از ايميلها به اون يكي ايميل ارسال كنم ولي وقتي كه همين دستورات رو داخل views  جنگو ميبرم كار نميكنن.

----------


## n.nowroozi

> ن ...
> من يه ايميل توي جيميل دارم و يكي توي chmail. در حالت عادي وبدون جنگو  و فقط داخل خود پايتون و با استفاده از  smtplib ميتونم به راحتي از هركدوم يكي از ايميلها به اون يكي ايميل ارسال كنم ولي وقتي كه همين دستورات رو داخل views  جنگو ميبرم كار نميكنن.


اروری که send_mail میده رو بزار با کدت

----------


## HackNetProg

اینو تویه کدهام پیدا کردم داشت خاک میخورد فک کنم خوشحال میشه ازش استفاده کنید  ;)

قسمتی از 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"

----------


## arman54

اين كد:



```
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')
```

ممكنه اونجايي كه ازش هاست گرفتم نذاره ايميل ارسال شه؟

----------


## n.nowroozi

> اين كد:
> 
> 
> 
> ```
> 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']})   
> ...


ارور رو هم گفتم بزار.. فکر کنم to رو باید به صورت لیست بزاری نه داده تکست خالی

----------


## arman54

تو پستاي قبل كه گذاشتم...
ارورش ميگه Connection refused

===============================
to رو بصورت ليست دادم  بازم نشد...

----------


## n.nowroozi

> تو پستاي قبل كه گذاشتم...
> ارورش ميگه Connection refused
> 
> ===============================
> to رو بصورت ليست دادم  بازم نشد...


منظور معمولا از ارور اینه که کل traceback رو بزاری حالا در هرصورت این رو نگاه کن

----------

