Skip to content

Commit

Permalink
update email-server docs
Browse files Browse the repository at this point in the history
  • Loading branch information
A-Najmabadi committed Sep 30, 2024
1 parent b9d8f28 commit 2ca2e13
Show file tree
Hide file tree
Showing 18 changed files with 236 additions and 171 deletions.
12 changes: 0 additions & 12 deletions src/components/Sidebar/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -6051,10 +6051,6 @@ export default {
title: "کنترل هرزنامه ایمیل‌های ارسالی",
link: "/email-server/how-tos/control-spam"
},
{
title: "مدیریت محدودیت‌ها",
link: "/email-server/how-tos/manage-limitations"
},
{
title: "تنظیم فوروارد",
link: "/email-server/how-tos/set-forward"
Expand Down Expand Up @@ -6209,10 +6205,6 @@ export default {
title: "کنترل هرزنامه ایمیل‌های ارسالی",
link: "/email-server/how-tos/control-spam"
},
{
title: "مدیریت محدودیت‌ها",
link: "/email-server/how-tos/manage-limitations"
},
{
title: "تنظیم فوروارد",
link: "/email-server/how-tos/set-forward"
Expand Down Expand Up @@ -6367,10 +6359,6 @@ export default {
title: "کنترل هرزنامه ایمیل‌های ارسالی",
link: "/email-server/how-tos/control-spam"
},
{
title: "مدیریت محدودیت‌ها",
link: "/email-server/how-tos/manage-limitations"
},
{
title: "تنظیم فوروارد",
link: "/email-server/how-tos/set-forward"
Expand Down
5 changes: 1 addition & 4 deletions src/pages/email-server/about.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,7 @@ import Head from "next/head";
title: "کنترل هرزنامه ایمیل‌های ارسالی",
link: "/email-server/how-tos/control-spam"
},
{
title: "مدیریت محدودیت‌ها",
link: "/email-server/how-tos/manage-limitations"
},

{
title: "تنظیم فوروارد",
link: "/email-server/how-tos/set-forward"
Expand Down
12 changes: 8 additions & 4 deletions src/pages/email-server/details/change-plan.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,15 @@ import Head from "next/head";
برای تغییر پلن ایمیل‌سرور خود در لیارا، کافیست تا وارد قسمت **تغییر اندازه** ایمیل سرور خود، شوید.
سپس، پلن مد نظر خود را انتخاب کنید و در نهایت بر روی گزینه **ویرایش**، کلیک کنید.

{/* <div className="h-4" />
<img src="https://files.liara.ir/liara/docs/change-email-server-plan.gif" alt="plans"/>
<div className="h-4" /> */}

<div className="h-4" />
<video
src="https://files.liara.ir/liara/docs/change-email-server-plan.mp4"
controls="controls"
className="block w-full"
width="100%"
></video>

<div className="h-2" />
<Alert variant="info">
<p>
برای تغییر پلن به پلن‌های پایین‌تر از پلن فعلی‌تان، نباید بیشتر از حدود تعریف شده نشانی قابل ایجاد و تعداد فوروارد به ازای هر نشانی در پلن
Expand Down
4 changes: 2 additions & 2 deletions src/pages/email-server/details/plans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ import Head from "next/head";
<Section id="best-plan" title="انتخاب پلن مناسب" />
برای انتخاب بهترین پلن، می‌توانید از حالت آزمون و خطا استفاده کنید؛ به این صورت که یک پلن را با توجه به نیازهای احتمالی خود، انتخاب کرده و
سپس پس از گذشت مدتی و به دست آمدن <a href="/email-server/details/observations" className="text-[#2196f3] ">گزارشات</a>، پلن خود را با توجه به نیازهای خود، ارتقا دهید.
{/*

<div className="h-4" />
<img src="https://files.liara.ir/liara/docs/email-server-plan.png" alt="see-plans"/>
<div className="h-4" /> */}
<div className="h-4" />

</Layout>
2 changes: 1 addition & 1 deletion src/pages/email-server/how-tos/add-smtp-user.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import Head from "next/head";

<Section id="what-is-smtp" title="SMTP چیست؟" />
SMTP یا Simple Mail Transfer Protocol یک پروتکل استاندارد اینترنتی برای انتقال ایمیل‌ها است. این پروتکل به سرورهای ایمیل اجازه می‌دهد تا پیام‌های ایمیل را بین خود ارسال کنند و همچنین ایمیل‌ها را از کلاینت‌ها (مانند نرم‌افزارهای ایمیل) دریافت کنند.
این پروتکل به صورت متن ساده و بدون رمزنگاری عمل می‌کند، اما می‌تواند با استفاده از TLS یا SSL برای افزایش امنیت استفاده شود.
این پروتکل به صورت متن ساده و بدون رمزنگاری عمل می‌کند، اما می‌تواند با استفاده از TLS یا STARTTLS برای افزایش امنیت استفاده شود.

<br />

Expand Down
7 changes: 6 additions & 1 deletion src/pages/email-server/how-tos/block-emails.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,12 @@ import Head from "next/head";
شما می‌توانید یک آدرس ایمیل یا حتی یک آدرس دامنه را، مسدود کنید تا ایمیل‌هایی که با آن دامنه یا آدرس ایمیل، دریافت می‌کنید، در بخش **هرزنامه‌ها** قرار بگیرد و در صندوق ورودی، به شما نمایش داده نشود.
برای این کار، کافیست تا وارد بخش **تنظیمات** شده و در بخش **مسدود کردن**، آدرس ایمیل یا دامنه مدنظر را، وارد کنید:
<div className="h-4" />
<img src="https://files.liara.ir/liara/docs/block-email.gif" alt="email server" />
<video
src="https://files.liara.ir/liara/docs/block-email.mp4"
controls="controls"
className="block w-full"
width="100%"
></video>
<div className="h-4" />

{/* <ul className="pr-4">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import Head from "next/head";
<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.liara.ir
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USER=hopeful_zhukovsky_9daqpv
MAIL_PASSWORD=fbef30d7-f852-428e-9573-bc73381c7d4d
Expand Down
75 changes: 46 additions & 29 deletions src/pages/email-server/how-tos/connect-via-platform/dotnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,59 +44,76 @@ import Head from "next/head";
<Highlight className="bash">
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USERNAME=my-app
MAIL_PASSWORD=my-pass`}
MAIL_USER=hopeful_zhukovsky_9daqpv
MAIL_PASSWORD=fbef30d7-f852-428e-9573-bc73381c7d4d
MAIL_FROM_ADDRESS=info@example.com`}
</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="csharp">
{`using System;
using System.Net;
<Highlight className="dotnet">
{`using System.Net;
using System.Net.Mail;
using System.IO;
using dotenv.net;
class Program
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 =>
{
static void Main()
// 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") ?? "info@example.com";
var toAddress = "recipient@example.com"; // Replace with recipient's email address
// Create a new SmtpClient
using (var smtpClient = new SmtpClient(smtpHost, smtpPort))
{
DotEnv.Load(); // loading env variables
string mailHost = Environment.GetEnvironmentVariable("MAIL_HOST");
int mailPort = int.Parse(Environment.GetEnvironmentVariable("MAIL_PORT"));
string mailUser = Environment.GetEnvironmentVariable("MAIL_USERNAME");
string mailPassword = Environment.GetEnvironmentVariable("MAIL_PASSWORD");
smtpClient.EnableSsl = true; // Use TLS encryption
smtpClient.Credentials = new NetworkCredential(smtpUser, smtpPassword);
// SMTP Conf
SmtpClient client = new SmtpClient(mailHost)
// Create the email message
var mailMessage = new MailMessage(fromAddress, toAddress)
{
Port = mailPort,
Credentials = new NetworkCredential(mailUser, mailPassword),
EnableSsl = true
Subject = "Test Email",
Body = "<h2>This is a test email sent from a .NET Core application using SMTP<h2>",
IsBodyHtml = true
};
// Creating and Sending Email
MailMessage message = new MailMessage("from@test.com", "to@test.com",
"hello", "hello from dotnet!");
// Add custom headers
mailMessage.Headers.Add("x-liara-tag", "test-tag");
// Send the email
try
{
client.Send(message);
Console.WriteLine("email sent successfully");
await smtpClient.SendMailAsync(mailMessage);
await context.Response.WriteAsync("Test email sent successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"error in sending email: {ex.Message}");
await context.Response.WriteAsync($"Failed to send email: {ex.Message}");
}
}
}`}
});
app.Run();
`}
</Highlight>
</div>
<div className="h-2" />
Expand All @@ -107,10 +124,10 @@ class Program
</Alert>
<Alert variant='info'>
<p>
مقدار پارامتر اول <Important>message</Important> باید به جای <Important>from@test.com</Important>، یکی از نشانی‌های اضافه شده در سرویس ایمیل باشد.
برای ارسال امن‌تر ایمیل‌ها، می‌توانید مقدار Port را بر روی 465 قرار دهید تا
به جای STARTTLS، از TLS استفاده شود.
</p>
</Alert>
<div className="h-2" />

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ import Head from "next/head";
<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.liara.ir
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USER=hopeful_zhukovsky_9daqpv
MAIL_PASSWORD=fbef30d7-f852-428e-9573-bc73381c7d4d
Expand Down
88 changes: 52 additions & 36 deletions src/pages/email-server/how-tos/connect-via-platform/go.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,27 @@ import Head from "next/head";
# اتصال به ایمیل‌سرور در برنامه‌های Golang
<hr className="mb-2" />

<video
src="https://files.liara.ir/liara/docs/golang-mail-server.mp4"
controls="controls"
className="block w-full"
width="100%"
/>

<div className="h-2" />
<Alert variant="success">
<p>
پروژه و کدهای مورد استفاده در ویدیوی فوق در <a href="https://github.com/liara-cloud/golang-getting-started/tree/email-server" className="text-[#2196f3] ">اینجا</a> قابل مشاهده و دسترسی هستند.
</p>
</Alert>

برای استفاده از سرویس ایمیل در برنامه‌های Golang، می‌توانید از
پکیج gomail استفاده کنید که بایستی با دستور زیر، آن را در پروژه خود، نصب کنید:

<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`go get github.com/go-gomail/gomail`}
{`go get gopkg.in/gomail.v2`}
</Highlight>
</div>
<div className="h-2" />
Expand All @@ -39,11 +52,11 @@ import Head from "next/head";
<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.example.com
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_FROM=from@example.com`}
MAIL_USER=cranky_galileo_nhh78l
MAIL_PASSWORD=7ae28d03-2e09-4211-8e79-c3a54ae5798e
MAIL_FROM=info@example.com`}
</Highlight>
</div>
<div className="h-2" />
Expand All @@ -68,55 +81,58 @@ MAIL_FROM=from@example.com`}
import (
"fmt"
"gopkg.in/gomail.v2"
"crypto/tls"
"os"
"strconv"
"github.com/joho/godotenv"
"log"
"os"
"strconv"
gomail "gopkg.in/gomail.v2"
)
func main() {
// Load environment variables from .env file
err := godotenv.Load(".env")
// Get environment variables for SMTP settings
mailHost := os.Getenv("MAIL_HOST")
mailPortStr := os.Getenv("MAIL_PORT")
mailUser := os.Getenv("MAIL_USER")
mailPassword := os.Getenv("MAIL_PASSWORD")
mailFrom := os.Getenv("MAIL_FROM")
// Convert mail port from string to integer
mailPort, err := strconv.Atoi(mailPortStr)
if err != nil {
fmt.Println("Error loading .env file:", err)
return
log.Fatalf("Invalid MAIL_PORT: %v", err)
}
// Convert MAIL_PORT to int
mailPort, err := strconv.Atoi(os.Getenv("MAIL_PORT"))
if err != nil {
fmt.Println("Error converting MAIL_PORT to int:", err)
return
}
// Create a new email message
m := gomail.NewMessage()
m.SetHeader("From", mailFrom)
m.SetHeader("To", "recipient@example.com") // Set recipient email here
m.SetHeader("Subject", "Test Email from Go with HTML")
m.SetHeader("x-liara-tag", "test-tag") // Custom header for tagging
// Create a new email message
m := gomail.NewMessage()
m.SetHeader("From", os.Getenv("MAIL_FROM"))
m.SetHeader("To", "email@email.email") // Replace with actual recipient
m.SetHeader("Subject", "This is a TEST")
body := "this is really a test"
m.SetBody("text/plain", body)
// Set HTML body for the email
m.SetBody("text/html", \`
<h1>This is a test email</h1>
<p>Sent from Go using <b>gomail</b> and SMTP with TLS.</p>
\`)
// Create a new dialer
d := gomail.NewDialer(os.Getenv("MAIL_HOST"), mailPort, os.Getenv("MAIL_USERNAME"), os.Getenv("MAIL_PASSWORD"))
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
// Create SMTP dialer with TLS
d := gomail.NewDialer(mailHost, mailPort, mailUser, mailPassword)
// Dial and send the email
// Send the email
if err := d.DialAndSend(m); err != nil {
fmt.Println("Error sending email:", err)
} else {
fmt.Println("Email sent successfully")
log.Fatalf("Failed to send email: %v", err)
}
fmt.Println("Test email sent successfully!")
}
`}
</Highlight>
</div>
<div className="h-2" />
<Alert variant='info'>
<p>
با تنظیم <Important>d.TLSConfig</Important>، می‌توانید به‌صورت امن اقدام به ارسال ایمیل‌های تراکنشی کنید.
برای ارسال امن‌تر ایمیل‌ها، می‌توانید مقدار Port را بر روی 465 تنظیم کنید. با انجام این کار، از TLS به جای STARTTLS، استفاده خواهید کرد.
</p>
</Alert>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ import Head from "next/head";
<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.liara.ir
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USER=my-app
MAIL_PASSWORD=87b9307a-dae9-410e-89a2-e77de60e4885
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ import Head from "next/head";
<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`MAIL_HOST=smtp.liara.ir
{`MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USER=friendly_liskov_ihidh7
MAIL_PASSWORD=58455bf7-f7c9-4562-9a9e-53b051f2ba79
Expand Down
Loading

0 comments on commit 2ca2e13

Please sign in to comment.