رفتن به مطلب
  • 0

ارسال ایمیل


مجتبی قاسمی

سوال

سلام خدمت دوستان .من میخام کمکم کنین. 

من یه سورس میخام واسه یه قسمت مثلا ارسال نظر.که کاربر بتونه با پر کردن یه تکست باکس و زدن روی دکمه ارسال یه ایمیل واسه من بیاد.

1.آیا امکانش هست که ایمیل ارسال شونده داخل خود سورس باشه که مثلا کسی که ایمیل نداره بتونه نظرشو بده.

ممنون میشم کمکم کنین.

ببخشین اگه سوالم مشکل داره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

12 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

لازم نیست این همه رو کامنت کنی برادرم

خدمتت عرض کردم که توی اکانت گوگلتون، باید اجازه بدید به برنامه های با امنیت کمتر

در ضمن، دسترسی به اینترنت رو هم که دادی به برنامه دیگه برادر؟ :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این رو بررسی کنید دوست عزیزم

به کتابخونه Net نیاز دارید...

فقط باید توی اکانت جیمیلی که میسازین، دسترسی به برنامه ها با امنیت کمتر رو هم بدید....

 

اول کتابخونه net رو تیک بزنید :)

یه شیئ از نوع SMTP ایجاد میکنیم...

dim SMTP as SMTP

بهتره یه شرط قرار بدید که اگه بار اوله که این اکتیوتی باز شده، اینیشیالایزش کنه

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

چون نیازه که هر بار برنامه باز میشه، یکبار اینیشیالایز بشه این شیئ 

If FirstTime Then 
        SMTP.Initialize("smtp.gmail.com", 587, "gmail", "password", "SMTP")
        SMTP.StartTLSMode = True
    End If

خوب

اینجا یه توضیح لازم دار

شما باید یه اکانت Gmail باز کنید تا برنامه ، با استفاه از اون اکانت، ایمیل هارو بفرسته

در بالا به جای Gmail ، ادرس ایمیلتون رو بدید و به جای Password هم رمز عبور این ایمیلی که ساختید رو قرار بدید....

 

در رویداد کلیک دکمه ارسال، میاین و کدهای زیر رو قرار میدید...

SMTP.To.Add("[email protected]")
	SMTP.Subject = "test"
	SMTP.Body = "سلام، این برای تست است "
	SMTP.Send
	ProgressDialogShow("Sending...")

Smtp.to.add :

در این قسمت، ادرس ایمیلی رو قرار میدید که این ایمیل ، قراره بهش ارسال شه...

مثلا من میخوام ایمیلی که میفرستم بره به [email protected]

subject :

مشخصه ، تیتر ایمیلتون هست...

body هم که بدنه ایمیل و پیام اصلیتون رو تشکیل میده

در اخر، از متد SMTP.SEND اشتفاده میکنیم تا ارسال شه و یک پراگرسس مسیح نشونمون بده که در حال ارساله

خوب

کار الان تمومه

اما برای کامل تر شدن، 

میاین از تنها sub این متد، استفاده میکنید...

Sub SMTP_MessageSent(Success As Boolean)
    Log(Success)
    If Success Then
		ProgressDialogHide
        ToastMessageShow("پیغام شما با موفیت ارسال شد ", True)
    Else
		ProgressDialogHide
        ToastMessageShow("خطا!!!", True)
        Log(LastException.Message)
    End If
End Sub 

نیاز به توضیح خاصی نداره

این ایتم، برای اینه که ایا ایمیلتون ارسال شده یا نه

که خودتون میتونید راحت بفهمیدش

موفق تر از قبل باشید... :gol:

 

من همین روش رو رفتم اما ایمیل ارسال نمیکنه و ارور ارسال نشدن رو میده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من همین روش رو رفتم اما ایمیل ارسال نمیکنه و ارور ارسال نشدن رو میده

سلام

کتابخونه NET  یادمه مشکل داشت و یک نسخع داشت که خوب کار میکرد یادم نیست نسخه چندشه

خب شما برای ارسال ایمیل در هر صورت نیاز دارید انلاین باشید حالا با PHP  که دوست عزیزمون قرار دادن هم میشه(بنده کد PHP  رو تست نکزدم که از صحت کارکردش مطمئن بشم) و در کنارش یک هاست نیاز دارید.در هر صورت یک برنامه نویس به یک هاست حداقل 100 مگابایت نیاز داره ( از این رایگانا ها استفاده نکنید چون خیلیا یا تماما فایل PHP  رو پشتیبانی نمیکنن)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

توی اکانت گوگلتون، باید اجازه بدید به برنامه های با امنیت کمتر

ببخشید این معنیش چی میشه یعنی دقیقا باید چیکار کنیم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام عزیز دلم

اینو اضافه کن به این قسمت

SMTP.AddAttachment(File.DirAssets,"shahab.txt")

به این قسمت

SMTP.To.Add("[email protected]")
	SMTP.Subject = "test"
	SMTP.Body = "سلام، این برای تست است "
	SMTP.Send
	ProgressDialogShow("Sending...")

اینطوری باید بشه اخرش

SMTP.To.Add("[email protected]")
	SMTP.Subject = "test"
	SMTP.Body = "سلام، این برای تست است "
SMTP.AddAttachment(File.DirAssets,"shahab.txt")
	SMTP.Send
	ProgressDialogShow("Sending...")

موفق تر باشی :gol:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از راهنماییتون .اما مشکلم حل نشد .اگه میشه جواب سوالمو بدین .خیلی ممون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فکر کنم با httputils2 که به php وصل بشین، از طریق php بشه ایمیل داد.

البته کاربر باید آنلاین باشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این رو بررسی کنید دوست عزیزم
به کتابخونه Net نیاز دارید...

فقط باید توی اکانت جیمیلی که میسازین، دسترسی به برنامه ها با امنیت کمتر رو هم بدید....
 

اول کتابخونه net رو تیک بزنید :)
یه شیئ از نوع SMTP ایجاد میکنیم...

dim SMTP as SMTP

بهتره یه شرط قرار بدید که اگه بار اوله که این اکتیوتی باز شده، اینیشیالایزش کنه
توجه کنید که نمیشه از فایل تکست استفاده کرد
چون نیازه که هر بار برنامه باز میشه، یکبار اینیشیالایز بشه این شیئ 

If FirstTime Then 
        SMTP.Initialize("smtp.gmail.com", 587, "gmail", "password", "SMTP")
        SMTP.StartTLSMode = True
    End If

خوب
اینجا یه توضیح لازم دار
شما باید یه اکانت Gmail باز کنید تا برنامه ، با استفاه از اون اکانت، ایمیل هارو بفرسته
در بالا به جای Gmail ، ادرس ایمیلتون رو بدید و به جای Password هم رمز عبور این ایمیلی که ساختید رو قرار بدید....
 
در رویداد کلیک دکمه ارسال، میاین و کدهای زیر رو قرار میدید...

SMTP.To.Add("[email protected]")
	SMTP.Subject = "test"
	SMTP.Body = "سلام، این برای تست است "
	SMTP.Send
	ProgressDialogShow("Sending...")

Smtp.to.add :
در این قسمت، ادرس ایمیلی رو قرار میدید که این ایمیل ، قراره بهش ارسال شه...
مثلا من میخوام ایمیلی که میفرستم بره به [email protected]
subject :
مشخصه ، تیتر ایمیلتون هست...
body هم که بدنه ایمیل و پیام اصلیتون رو تشکیل میده
در اخر، از متد SMTP.SEND اشتفاده میکنیم تا ارسال شه و یک پراگرسس مسیح نشونمون بده که در حال ارساله
خوب
کار الان تمومه
اما برای کامل تر شدن، 
میاین از تنها sub این متد، استفاده میکنید...

Sub SMTP_MessageSent(Success As Boolean)
    Log(Success)
    If Success Then
		ProgressDialogHide
        ToastMessageShow("پیغام شما با موفیت ارسال شد ", True)
    Else
		ProgressDialogHide
        ToastMessageShow("خطا!!!", True)
        Log(LastException.Message)
    End If
End Sub 

نیاز به توضیح خاصی نداره
این ایتم، برای اینه که ایا ایمیلتون ارسال شده یا نه
که خودتون میتونید راحت بفهمیدش
موفق تر از قبل باشید... :gol:
 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فکر کنم با httputils2 که به php وصل بشین، از طریق php بشه ایمیل داد.

البته کاربر باید آنلاین باشه.

میشه بیشتر توضیح بدین یا سورس بدین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اول کتابخانه httputils2 و network را تیک بزنید

بعد این کد رو وارد کنید:

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.

End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

    Dim send_email As HttpJob
    Dim Button1 As Button

End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    'Activity.LoadLayout("Layout1")
    Activity.LoadLayout("Layout1")
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Button1_Click
  send_email.Initialize("InsertP", Me)
  send_email.PostString("http://example.ir/send_email.php", "subject=موضوع&text=متن ارسالی&name=نام کاربر")
End Sub

Sub JobDone (Job As HttpJob)
  If Job.Success = True Then
      If Job.GetString = "OK" Then
          ToastMessageShow("با موفقیت ارسال شد", True)
      Else
          ToastMessageShow("مشکل در ارسال", True)
  End If
    Else
      ToastMessageShow("Error: " & Job.ErrorMessage, True)
  End If
  Job.Release
End Sub

بعدش باید در آدرس example.ir/send_email.php فایل php به همین نام رو داشته باشید.

محتویات فایل php

<?php
$name = $_POST['name'];
$email = ایمیل فرستنده;
$formcontent=" From: $name</br>$_POST['text']";
$recipient = "[email protected]";
$subject = $_POST['subject'];
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
?>

البته تاحالا امتحان نکردم. راستی ایمیل فرستنده رو هم نمیدونم آیا لازمه یا نه برای همین از کدهای برنامه نفرستادمش به php گفتم که تاحالا امتحان نکردم و نمیدونم استاندارده یا نه؟ روش شهاب جان هم خوبه اگه بری دنبالش.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون و تشکر از وقتی که میزارین چرا بعضی وقتا جواب میده بعضی وقتا جواب نمیده

مشکل از اینجا نیست؟

توی اکانت گوگلتون، باید اجازه بدید به برنامه های با امنیت کمتر!!!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...