ورود

View Full Version : گفتگو: ارسال نامه به صندوق پستی الکترونیک با JavaScript



ROSTAM2
جمعه 16 شهریور 1403, 07:30 صبح
سلام
تو این مقاله یک اسکریت ارسال نامه با JavaScript داره برای HTML که نامه واقعا ارسال نمی .... !!!! آیا مشکل از خود مقاله است و الکی گفته سیا مشکل از استفاده کدها در HTML?!

How to send an email from JavaScript ? - GeeksforGeeks (https://www.geeksforgeeks.org/how-to-send-an-email-from-javascript/)


<!DOCTYPE html>
<html>
<head>
<title>Send Mail</title>
<script src="https://smtpjs.com/v3/smtp.js">
</script>


<script type="text/javascript">
function sendEmail() {
Email.send({
Host: "smtp.gmail.com",
Username: "vbloverprogrammer@gmail.com",
Password: "<App-Password>",
To: 'vblovergamer@gmail.com',
From: "vbloverprogrammer@gmail.com",
Subject: "Sending Email using javascript",
Body: "Well that was easy!!",
})
.then(function (message) {
alert("mail sent successfully")
});
}
</script>
</head>


<body>
<form method="post">
<input type="button"
value="Send Email"
onclick="sendEmail()" />
</form>
</body>


</html>

mazoolagh
شنبه 17 شهریور 1403, 12:50 عصر
سلام رستم خان

چند نکته این میون هست:
1- شما نمیتونین مستقیما با javascript ایمیل بفرستین؛
البته میتونین mail client رو کامپیوتر کاربر باز کنین (که این مورد از دستورکار شما خارج هست قطعا)

2- این کد میتونه کار کنه،
ولی اون اسکریپت هم مستقیما این کار رو نمیکنه (یعنی نمیتونه).

3- این کد مشکل امنیتی شدید داره (در حد فاجعه):
اگر داکیومنت شما در مرورگر کاربر باز میشه که خب خیلی راحت به پسورد دسترسی داره!
دلخوش هم نباشین که شاید یک ورژن باشه پسورد انکریپت بگیره،
حتی در این صورت باز هم میتونه از طرف شما ایمیل بفرسته (این قطعیه) یا relay کنه (این شایدی هست)

اگر داکیومنت در کنترل وب بروزر باز میشه،
گرچه ریسک پسورد در سمت کاربر کم میشه،
ولی شما هنوز دارین credentials ایمیلتون رو به یک سروری میفرستین که مشخص نیست مال کی هست،
و خب اصولا چرا باید همچین کار خطرناکی بکنین.

4- اگر web application دارین ، خب خیلی ساده از طریق سرور هاست ایمیل بفرستین (منظور کد server side هست).
حالا یا اصلا این داکیومنت شما یک پیج aspx/php/... هست،
یا وب سرویس دارین،
یا این که html ساده است ولی به یک همیچین صفحه ای پست میکنه (مستقیم یا با ajax)
و این آخری همون این روشی هست که اون اسکریپت انجام میده - برای همین هست که میگم میتونه .

5- اگر win application هست و کنترل وب بروزر استفاده میکنین،
خیلی راحت از فیلدهای html form بخونین دیتا رو (تو پست های دیگه شما دیدم که اینها رو کاملا مسلط هستین).

6- اگر خیلی اصرار دارین که حتما همین روش رو برین:
یک هاست لینوکسی ساده با امکانات ایمیل حدود 300-400 هزار تومن در سال بیشتر نیست.
شما یکی بگیرین و هم برای معرفی محصول خودتون استفاده کنین،
چند اسکریپت ساده php بنویسین برای کارهای مثل این
و یک سرویس پیامکی هم بگیرین (این از ایمیل بهتره و مهمتر هم هست).
و خودتون رو راحت کنین.

====
همشهری بزرگوار شما میگه: کار بد مصلحت آن است که مطلق نکنیم