Skip to content

Commit

Permalink
docs: some updates
Browse files Browse the repository at this point in the history
  • Loading branch information
A-Najmabadi committed Nov 28, 2024
1 parent 1ce4f48 commit 4e0eb5d
Show file tree
Hide file tree
Showing 18 changed files with 1,421 additions and 51 deletions.
14 changes: 12 additions & 2 deletions src/components/Sidebar/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -3006,6 +3006,16 @@ export default {
icon: <IconContainer alt="arangodb" />,
link: "/paas/docker/related-apps/arangodb"
},
{
title: "Deno",
icon: <IconContainer alt="https://files.liara.ir/liara/deno/deno-logo.png" />,
link: "/paas/docker/related-apps/deno"
},
{
title: "Bun",
icon: <IconContainer alt="https://seeklogo.com/images/B/bun-logo-A876328A1F-seeklogo.com.png" />,
link: "/paas/docker/related-apps/bun"
},
{
title: "Seq",
icon: <IconContainer alt="seq" />,
Expand Down Expand Up @@ -8821,11 +8831,11 @@ export default {
hr: true
},
{
title: "مدیریت حسابکاربری",
title: "مدیریت حساب کاربری",
link: "/references/console/manage-accounts"
},
{
title: "ارتقا سطح حسابکاربری",
title: "ارتقا سطح حساب کاربری",
link: "/references/console/upgrade-user-level"
},
{
Expand Down
90 changes: 88 additions & 2 deletions src/pages/email-server/how-tos/connect-via-platform/django.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ import Head from "next/head";
</p>
</Alert>

<Tabs
tabs={["SMTPS", "SMTP"]}
content={[
<>

برای استفاده از سرویس ایمیل در برنامه‌های Django، کافیست
تا طبق <a href="/email-server/how-tos/add-smtp-user" className="text-[#2196f3] ">مستندات SMTP</a>، یک دسترسی SMTP و طبق <a href="/email-server/how-tos/add-account" className="text-[#2196f3] ">مستندات افزودن نشانی</a>، یک نشانی برای ایمیل‌سرور خود، ایجاد کنید.
در ادامه نیز، بایستی
Expand All @@ -46,7 +51,7 @@ import Head from "next/head";
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_PORT=465
MAIL_USER=hopeful_zhukovsky_9daqpv
MAIL_PASSWORD=fbef30d7-f852-428e-9573-bc73381c7d4d
[email protected]`}
Expand All @@ -73,12 +78,83 @@ EMAIL_FROM_ADDRESS = os.getenv('MAIL_FROM_ADDRESS')`}
</Highlight>
</div>
<div className="h-2" />

تمامی کارها انجام شده است و شما می‌توانید از ایمیل‌سرور خود استفاده کنید؛ به عنوان مثال، می‌توانید یک app جدید ایجاد
کنید و <Important>views.py</Important> آن را همانند قطعه کد زیر، بنویسید:

<div className="h-2" />
<div dir='ltr'>
<Highlight className="py">
{`from django.core.mail import EmailMessage
from django.http import HttpResponse
from django.conf import settings
def send_test_email(request):
subject = 'Test Email from Django'
message = 'This is a test email sent from Django using SMTP on Liara server.'
recipient_list = ['[email protected]']
email = EmailMessage(
subject,
message,
settings.EMAIL_FROM_ADDRESS,
recipient_list,
headers={"x-liara-tag": "test-tag"} # using liara tag feature,
)
email.send(fail_silently=False)
return HttpResponse('Test email sent successfully!') `}
</Highlight>
</div>
<div className="h-2" />

</>,
<>

برای استفاده از سرویس ایمیل در برنامه‌های Django، کافیست
تا طبق <a href="/email-server/how-tos/add-smtp-user" className="text-[#2196f3] ">مستندات SMTP</a>، یک دسترسی SMTP و طبق <a href="/email-server/how-tos/add-account" className="text-[#2196f3] ">مستندات افزودن نشانی</a>، یک نشانی برای ایمیل‌سرور خود، ایجاد کنید.
در ادامه نیز، بایستی
اطلاعات مربوط به ایمیل‌سرور خود را
به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال:

<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USER=hopeful_zhukovsky_9daqpv
MAIL_PASSWORD=fbef30d7-f852-428e-9573-bc73381c7d4d
[email protected]`}
</Highlight>
</div>
<div className="h-2" />
<Alert variant='info'>
<p>
مقدار فیلد <Important>MAIL_FROM_ADDRESS</Important> باید یکی از نشانی‌های اضافه شده در سرویس ایمیل باشد.
</p>
</Alert>

حال، بایستی قطعه کدی مشابه قطعه کد زیر را به فایل <Important>settings.py</Important> خود، اضافه کنید:
<div className="h-2" />
<div dir='ltr'>
<Highlight className="py">
{`EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = os.getenv('MAIL_HOST')
EMAIL_PORT = os.getenv('MAIL_PORT')
EMAIL_HOST_USER = os.getenv('MAIL_USER')
EMAIL_HOST_PASSWORD = os.getenv('MAIL_PASSWORD')
EMAIL_USE_TLS = True # Use STARTTLS encryption
EMAIL_FROM_ADDRESS = os.getenv('MAIL_FROM_ADDRESS')`}
</Highlight>
</div>
<div className="h-2" />
{/* <Alert variant='info'>
<p>
برای ارسال امن‌تر ایمیل‌ها، می‌توانید مقدار Port را بر روی 465 قرار دهید تا
به جای STARTTLS، از TLS استفاده شود.
</p>
</Alert>
</Alert> */}



Expand Down Expand Up @@ -112,4 +188,14 @@ def send_test_email(request):
</div>
<div className="h-2" />

</>
]}
/>

<Alert variant="success">
<p>
همچنین بخوانید: <a href="/email-server/details/ports/" className="text-[#2196f3]">پورت‌های ایمیل‌سرور لیارا</a>
</p>
</Alert>

</Layout>
170 changes: 167 additions & 3 deletions src/pages/email-server/how-tos/connect-via-platform/dotnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ import Head from "next/head";
</p>
</Alert>

<Tabs
tabs={["SMTPS", "SMTP"]}
content={[
<>

برای استفاده از سرویس ایمیل در برنامه‌های NET.
کافیست تا طبق <a href="/email-server/how-tos/add-smtp-user" className="text-[#2196f3] ">مستندات SMTP</a>، یک دسترسی SMTP و طبق <a href="/email-server/how-tos/add-account" className="text-[#2196f3] ">مستندات افزودن نشانی</a>، یک نشانی برای ایمیل‌سرور خود، ایجاد کنید.
در نهایت نیز، بایستی
Expand All @@ -46,7 +51,7 @@ import Head from "next/head";
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_PORT=465
MAIL_USER=hopeful_zhukovsky_9daqpv
MAIL_PASSWORD=fbef30d7-f852-428e-9573-bc73381c7d4d
[email protected]`}
Expand Down Expand Up @@ -125,10 +130,159 @@ app.Run();
با تنظیم <Important>EnableSsl = true</Important>، می‌توانید به‌صورت امن اقدام به ارسال ایمیل‌های تراکنشی کنید.
</p>
</Alert>

برای استفاده از ایمیل‌سرور در کنترلر، می‌توانید مشابه قطعه کد زیر، عمل کنید:

<div className="h-2" />
<div dir='ltr'>
<Highlight className="csharp">
{`using MimeKit;
using MailKit.Net.Smtp;
using DotNetEnv; // for install this, run: dotnet install add package DotNetEnv
namespace your_project_name.Controllers;
public class TestController : Controller
{
[HttpPost]
public IActionResult SendEmail(string email)
{
// Email Information
Env.Load();
string senderName = Env.GetString("SENDER_NAME");
string senderEmail = Env.GetString("SENDER_ADDRESS");
string subject = Env.GetString("EMAIL_SUBJECT");
string body = Env.GetString("EMAIL_BODY");
// Email Instance
var message = new MimeMessage();
message.From.Add(new MailboxAddress(senderName, senderEmail));
message.To.Add(new MailboxAddress("Recipient", email));
message.Subject = subject;
// Creating The Body
message.Body = new TextPart("plain")
{
Text = body
};
try
{
// Sending Email
using (var client = new SmtpClient())
{
client.Connect(Env.GetString("MAIL_HOST"), Env.GetInt("MAIL_PORT"), false);
client.Authenticate(Env.GetString("MAIL_USERNAME"), Env.GetString("MAIL_PASSWORD"));
client.Send(message);
client.Disconnect(true);
}
ViewBag.Message = "Email Sent Successfully.";
}
catch (Exception ex)
{
ViewBag.Message = $"Error In Sending Email: {ex.Message}";
}
return RedirectToAction("Index");
}
}
`}
</Highlight>
</div>
<div className="h-2" />
</>,
<>

برای استفاده از سرویس ایمیل در برنامه‌های NET.
کافیست تا طبق <a href="/email-server/how-tos/add-smtp-user" className="text-[#2196f3] ">مستندات SMTP</a>، یک دسترسی SMTP و طبق <a href="/email-server/how-tos/add-account" className="text-[#2196f3] ">مستندات افزودن نشانی</a>، یک نشانی برای ایمیل‌سرور خود، ایجاد کنید.
در نهایت نیز، بایستی
اطلاعات مربوط به ایمیل‌سرور خود را
به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال:

<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USER=hopeful_zhukovsky_9daqpv
MAIL_PASSWORD=fbef30d7-f852-428e-9573-bc73381c7d4d
[email protected]`}
</Highlight>
</div>
<div className="h-2" />
<Alert variant='info'>
<p>
مقدار فیلد <Important>MAIL_FROM_ADDRESS</Important> باید یکی از نشانی‌های اضافه شده در سرویس ایمیل باشد.
</p>
</Alert>


در نهایت می‌توانید در پروژه‌ی خود مانند مثال زیر عمل کرده و با استفاده از دسترسی SMTP سرویس ایمیل لیارا،
اقدام به ارسال ایمیل‌های تراکنشی کنید:

<div className="h-2" />
<div dir='ltr'>
<Highlight className="dotnet">
{`using System.Net;
using System.Net.Mail;
using dotenv.net;
DotEnv.Load(); // Load the environment variables from .env file
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/send-test-email", async context =>
{
// Read SMTP settings from environment variables
var smtpHost = Environment.GetEnvironmentVariable("MAIL_HOST");
int smtpPort = int.Parse(Environment.GetEnvironmentVariable("MAIL_PORT") ?? "587");
var smtpUser = Environment.GetEnvironmentVariable("MAIL_USER");
var smtpPassword = Environment.GetEnvironmentVariable("MAIL_PASSWORD");
var fromAddress = Environment.GetEnvironmentVariable("MAIL_FROM_ADDRESS") ?? "[email protected]";
var toAddress = "[email protected]"; // Replace with recipient's email address
// Create a new SmtpClient
using (var smtpClient = new SmtpClient(smtpHost, smtpPort))
{
smtpClient.EnableSsl = true; // Use STARTTLS encryption
smtpClient.Credentials = new NetworkCredential(smtpUser, smtpPassword);
// Create the email message
var mailMessage = new MailMessage(fromAddress, toAddress)
{
Subject = "Test Email",
Body = "<h2>This is a test email sent from a .NET Core application using SMTP<h2>",
IsBodyHtml = true
};
// Add custom headers
mailMessage.Headers.Add("x-liara-tag", "test-tag");
// Send the email
try
{
await smtpClient.SendMailAsync(mailMessage);
await context.Response.WriteAsync("Test email sent successfully!");
}
catch (Exception ex)
{
await context.Response.WriteAsync($"Failed to send email: {ex.Message}");
}
}
});
app.Run();
`}
</Highlight>
</div>
<div className="h-2" />
<Alert variant='info'>
<p>
برای ارسال امن‌تر ایمیل‌ها، می‌توانید مقدار Port را بر روی 465 قرار دهید تا
به جای STARTTLS، از TLS استفاده شود.
با تنظیم <Important>EnableSsl = true</Important>، می‌توانید به‌صورت امن اقدام به ارسال ایمیل‌های تراکنشی کنید.
</p>
</Alert>

Expand Down Expand Up @@ -194,4 +348,14 @@ public class TestController : Controller
</Highlight>
</div>
<div className="h-2" />
</>
]}
/>

<Alert variant="success">
<p>
همچنین بخوانید: <a href="/email-server/details/ports/" className="text-[#2196f3]">پورت‌های ایمیل‌سرور لیارا</a>
</p>
</Alert>

</Layout>
Loading

0 comments on commit 4e0eb5d

Please sign in to comment.