தனித்தனி HTML மற்றும் எளிய உரை உள்ளடக்கத்துடன் மின்னஞ்சல்களை உருவாக்குதல்
HTML மற்றும் எளிய உரை பதிப்புகள் இரண்டிலும் மின்னஞ்சல்களை அனுப்புவது நவீன பயன்பாடுகளுக்கு ஒரு முக்கியமான அம்சமாகும், இது சாதனங்கள் மற்றும் பயனர் விருப்பத்தேர்வுகள் முழுவதும் இணக்கத்தன்மையை உறுதி செய்கிறது. ஆனால் நீங்கள் பயன்படுத்தும் நூலகம் இதை சவாலாக மாற்றினால் என்ன நடக்கும்? 🤔
wneessen/go-mail தொகுப்பைப் பயன்படுத்தும் டெவலப்பர்கள் அடிக்கடி ஒரு வித்தியாசமான சிக்கலை எதிர்கொள்கின்றனர்: HTML பாடி புதுப்பிப்புகளை அமைப்பது அல்லது எளிய உரை உள்ளடக்கத்தை நீக்குவது, மற்றும் நேர்மாறாகவும். இரண்டு வடிவங்களையும் தனித்தனியாக உருவாக்கும் ஹெர்ம்ஸ் போன்ற நூலகங்களில் நீங்கள் பணிபுரியும் போது இது மிகவும் வெறுப்பாக இருக்கும்.
இந்த சூழ்நிலையை கற்பனை செய்து பாருங்கள்: நீங்கள் இணைப்புகள் மற்றும் பொத்தான்களுடன் பார்வைக்கு பிரமிக்க வைக்கும் HTML மின்னஞ்சலை உருவாக்கியுள்ளீர்கள், ஆனால் அணுகலுக்கான எளிய, சுத்தமான எளிய உரைப் பதிப்பைச் சேர்க்க விரும்புகிறீர்கள். இருப்பினும், நீங்கள் ஒரு வடிவமைப்பை அமைத்தவுடன், மற்றொன்று மறைந்துவிடும். ஒவ்வொரு தூரிகையும் முந்தையதை அழிக்கும் ஒரு படத்தை வரைவதற்கு முயற்சிப்பது போன்றது! 🎨
இந்தக் கட்டுரையில், wneessen/go-mail ஐப் பயன்படுத்தி மின்னஞ்சல் உள்ளடக்கம் மற்றும் உரை இரண்டையும் தனித்தனியாக அமைக்க முடியுமா என்பதையும், இந்த வரம்பை எவ்வாறு சமாளிப்பது என்பதையும் ஆராய்வோம். நிஜ உலக திட்ட உதாரணத்திலிருந்து வரைந்து, பிரச்சனை மற்றும் அதன் சாத்தியமான தீர்வுகளை நாங்கள் உங்களுக்குக் காண்பிப்போம்.
கட்டளை | பயன்பாட்டின் உதாரணம் |
---|---|
mail.NewClient() | சேவையக முகவரி, போர்ட் மற்றும் அங்கீகார விவரங்கள் போன்ற குறிப்பிட்ட விருப்பங்களுடன் புதிய SMTP கிளையண்டை உருவாக்குகிறது. சரியான பாதுகாப்புடன் மின்னஞ்சல் அனுப்பும் திறன்களை அமைக்கப் பயன்படுகிறது. |
mail.WithTLSPolicy() | SMTP கிளையண்டிற்கான TLS கொள்கையை உள்ளமைக்கிறது. பயன்பாட்டிற்கும் மின்னஞ்சல் சேவையகத்திற்கும் இடையே பாதுகாப்பான தொடர்பை உறுதி செய்கிறது. |
hermes.GenerateHTML() | ஹெர்ம்ஸ் நூலகத்தைப் பயன்படுத்தி HTML-வடிவமைக்கப்பட்ட மின்னஞ்சல் அமைப்பை உருவாக்குகிறது. கட்டமைக்கப்பட்ட வடிவமைப்புடன் பார்வைக்கு ஈர்க்கும் மின்னஞ்சல்களை உருவாக்குவதற்கு இது குறிப்பிட்டது. |
hermes.GeneratePlainText() | மின்னஞ்சல் உடலின் எளிய உரை பதிப்பை உருவாக்குகிறது. HTML ஐ ஆதரிக்காத மின்னஞ்சல் கிளையண்டுகளுடன் இணக்கத்தன்மையை உறுதி செய்கிறது. |
msg.SetBodyString() | குறிப்பிட்ட உள்ளடக்க வகைக்கு (எ.கா. எளிய உரை அல்லது HTML) மின்னஞ்சலின் உடலை அமைக்கிறது. மின்னஞ்சல் அமைப்பிற்கான பல வடிவங்களை வரையறுக்க டெவலப்பர்களை அனுமதிக்கிறது. |
msg.From() | அனுப்புநரின் மின்னஞ்சல் முகவரியை அமைக்கிறது. மின்னஞ்சல் தரநிலைகளுடன் சரியான பண்புக்கூறு மற்றும் இணக்கத்தை உறுதி செய்கிறது. |
msg.To() | பெறுநரின் மின்னஞ்சல் முகவரியைக் குறிப்பிடுகிறது. நோக்கம் கொண்ட பயனருக்கு மின்னஞ்சலை அனுப்புவதற்கு அவசியம். |
client.DialAndSend() | SMTP கிளையண்டைப் பயன்படுத்தி தயாரிக்கப்பட்ட மின்னஞ்சல் செய்தியை அனுப்புகிறது. மின்னஞ்சல் சேவையகத்துடன் இணைப்பை நிறுவி செய்தியை வழங்குகிறது. |
defer client.Close() | பயன்பாட்டிற்குப் பிறகு SMTP கிளையன்ட் இணைப்பு சரியாக மூடப்பட்டிருப்பதை உறுதி செய்கிறது. வள கசிவுகளைத் தடுக்கிறது மற்றும் பயன்பாட்டு நிலைத்தன்மையை பராமரிக்கிறது. |
fmt.Errorf() | கூடுதல் சூழலுடன் பிழை செய்திகளை வடிவமைக்கிறது. சிறந்த பிழைத்திருத்தம் மற்றும் தெளிவான பிழை தொடர்புக்கு பயன்படுத்தப்படுகிறது. |
wneessen/go-mail மூலம் இரட்டை மின்னஞ்சல் வடிவங்களில் தேர்ச்சி பெறுதல்
Go இல் wneessen/go-mail நூலகத்தைப் பயன்படுத்தி HTML மற்றும் எளிய உரை மின்னஞ்சல் உடல்கள் இரண்டையும் தடையின்றி எவ்வாறு ஒருங்கிணைப்பது என்பதை வழங்கிய ஸ்கிரிப்டுகள் விளக்குகின்றன. இந்த இரண்டு வடிவங்களையும் ஒன்றையொன்று மேலெழுதாமல் சுயாதீனமாக அமைப்பதில் முக்கிய சவால் உள்ளது. ஹெர்ம்ஸ் போன்ற நூலகங்களுடன் பணிபுரியும் போது இந்த சிக்கல் மிகவும் பொருத்தமானது, இது HTML மற்றும் எளிய உரைக்கான தனி வெளியீடுகளை உருவாக்குகிறது. துவக்கம் மற்றும் அனுப்பும் செயல்முறைகளை மட்டுப்படுத்துவதன் மூலம், இந்த ஸ்கிரிப்டுகள் மின்னஞ்சல் கையாளுதலுக்கான அளவிடக்கூடிய மற்றும் மீண்டும் பயன்படுத்தக்கூடிய அணுகுமுறையை உறுதி செய்கின்றன. உங்கள் பயன்பாடு ஒரு துடிப்பான HTML செய்திமடலை அனுப்பும் சூழ்நிலையை கற்பனை செய்து பாருங்கள், ஆனால் சில பெறுநர்கள் தெளிவுக்காக எளிய உரையை விரும்புகிறார்கள் - ஸ்கிரிப்டுகள் அனைவருக்கும் வழங்கப்படுவதை உறுதி செய்கின்றன. ✉️
இதை அடைய, முதல் ஸ்கிரிப்ட் TLS மற்றும் அங்கீகார சான்றுகள் போன்ற பாதுகாப்பான உள்ளமைவுகளைப் பயன்படுத்தி SMTP கிளையண்டை துவக்குகிறது. இந்த அமைப்பு ல் இணைக்கப்பட்டுள்ளது வாடிக்கையாளர் செயல்பாடு, தெளிவு மற்றும் மறுபயன்பாட்டை உறுதி செய்தல். ஹெர்ம்ஸ் நூலகத்தின் பயன்பாடு ஒரு தனித்துவமான பரிமாணத்தை சேர்க்கிறது, ஏனெனில் இது தொழில்முறை மின்னஞ்சல் டெம்ப்ளேட்களின் தலைமுறையை எளிதாக்குகிறது. பிராண்டிங்கைத் தனிப்பயனாக்கும் திறனுடன், மின்னஞ்சல் உள்ளடக்கம் பயன்பாட்டின் அடையாளத்துடன் சீரமைக்கப்படுகிறது. இந்த வடிவமைப்பு தங்கள் பயனர்களிடம் ஒரு பளபளப்பான முதல் தோற்றத்தை உருவாக்குவதை நோக்கமாகக் கொண்ட தொடக்கங்கள் அல்லது சேவைகளுக்கு மிகவும் பயனுள்ளதாக இருக்கும்.
மின்னஞ்சல் அனுப்பும் செயல்முறையை கையாள்கிறது மின்னஞ்சல் அனுப்பு செயல்பாடு, இது பெறுநர் மற்றும் உள்ளடக்கம் இரண்டையும் அளவுருக்களாக எடுத்துக்கொள்கிறது. மேலெழுதுவதைத் தடுக்க, தனித்துவமான கட்டளைகளைப் பயன்படுத்தி, எளிய உரை மற்றும் HTML உடல்களை இது கவனமாக ஒதுக்குகிறது. மட்டு உதவியாளர் செயல்பாடு, setEmailBody, மின்னஞ்சல் பாடி-அமைவு தர்க்கம் தனிமைப்படுத்தப்படுவதை உறுதிசெய்கிறது, இது ஸ்கிரிப்டை சுத்தமாகவும் பராமரிக்கவும் எளிதாக்குகிறது. எடுத்துக்காட்டாக, ஒரு மார்க்கெட்டிங் குழு புதிய மின்னஞ்சல் வடிவங்களைச் சோதிக்க விரும்பினால், முக்கிய தர்க்கத்திற்கு இடையூறுகள் இல்லாமல் விரைவான பரிசோதனையை இந்த அமைப்பு அனுமதிக்கிறது. 🚀
இறுதியாக, பிழை கையாளுதலைச் சேர்ப்பது நம்பகத்தன்மையை உறுதி செய்கிறது. fmt.Errorf() போன்ற செயல்பாடுகள் விரிவான பிழைச் செய்திகளை வழங்குவதால், பிழைத்திருத்தத்தை நேரடியாகச் செய்கிறது. கூடுதலாக, SMTP கிளையண்டை டிஃபருடன் பயன்படுத்திய பிறகு மூடுவது ஆதார கசிவுகளைத் தவிர்க்கிறது, இது சர்வர் செயல்திறனைப் பராமரிப்பதற்கான சிறிய ஆனால் முக்கியமான படியாகும். ஈ-காமர்ஸ் இயங்குதளங்கள் அல்லது அறிவிப்பு அமைப்புகள் போன்ற மின்னஞ்சல் டெலிவரி ஒரு முக்கிய அம்சமாக இருக்கும் நிஜ-உலகப் பயன்பாடுகளுக்கு இந்த அமைப்பு சிறந்தது. சிறந்த நடைமுறைகளைக் கடைப்பிடிப்பதன் மூலம், இந்த ஸ்கிரிப்டுகள் செயல்படுவது மட்டுமல்ல, நீண்ட கால பயன்பாட்டிற்கு மிகவும் பராமரிக்கக்கூடியவை.
wneessen/go-mail ஐப் பயன்படுத்தி HTML மற்றும் ப்ளைன் டெக்ஸ்ட் பாடிகளை மின்னஞ்சல்களுக்கு அமைக்கவும்
மட்டு மற்றும் மறுபயன்படுத்தக்கூடிய அமைப்புடன் wneessen/go-mail இன் சரியான பயன்பாட்டைக் காட்டும் Go இல் பின்தள ஸ்கிரிப்ட்
package main
import (
"context"
"fmt"
"github.com/matcornic/hermes/v2"
"github.com/wneessen/go-mail"
)
// Initialize email client and Hermes
func initializeClient() (*mail.Client, hermes.Hermes, error) {
client, err := mail.NewClient("smtp.example.com",
mail.WithPort(587),
mail.WithTLSPolicy(mail.TLSMandatory),
mail.WithSMTPAuth(mail.SMTPAuthPlain),
mail.WithUsername("user@example.com"),
mail.WithPassword("password123"))
if err != nil {
return nil, hermes.Hermes{}, err
}
hermes := hermes.Hermes{
Product: hermes.Product{
Name: "Example App",
Link: "https://example.com",
},
}
return client, hermes, nil
}
// Send an email with separate HTML and plain text bodies
func sendEmail(client *mail.Client, hermes hermes.Hermes, recipient string) error {
email := hermes.Email{
Body: hermes.Body{
Name: "User",
Intros: []string{"Welcome to Example App! We’re glad to have you."},
Outros: []string{"If you have questions, just reply to this email."},
},
}
htmlBody, err := hermes.GenerateHTML(email)
if err != nil {
return fmt.Errorf("failed to generate HTML: %w", err)
}
textBody, err := hermes.GeneratePlainText(email)
if err != nil {
return fmt.Errorf("failed to generate plain text: %w", err)
}
msg := mail.NewMsg()
msg.From("user@example.com")
msg.To(recipient)
msg.Subject("Welcome to Example App!")
msg.SetBodyString(mail.TypeTextPlain, textBody)
msg.SetBodyString(mail.TypeTextHTML, htmlBody)
return client.DialAndSend(msg)
}
func main() {
client, hermes, err := initializeClient()
if err != nil {
fmt.Println("Error initializing client:", err)
return
}
defer client.Close()
if err := sendEmail(client, hermes, "recipient@example.com"); err != nil {
fmt.Println("Error sending email:", err)
} else {
fmt.Println("Email sent successfully!")
}
}
மாற்று தீர்வு: நெகிழ்வுத்தன்மைக்காக அனுப்பும் செயல்பாட்டை மாடுலரைஸ் செய்யவும்
மின்னஞ்சல் அமைப்புகளை அமைப்பதற்கான மட்டுப்படுத்தப்பட்ட உதவி செயல்பாடுகளை மையமாகக் கொண்ட Go இன் மற்றொரு அணுகுமுறை
package email
import (
"github.com/wneessen/go-mail"
)
func setEmailBody(msg *mail.Msg, text, html string) error {
if err := msg.SetBodyString(mail.TypeTextPlain, text); err != nil {
return err
}
if err := msg.SetBodyString(mail.TypeTextHTML, html); err != nil {
return err
}
return nil
}
func send(client *mail.Client, to, subject, textBody, htmlBody string) error {
msg := mail.NewMsg()
msg.From("user@example.com")
msg.To(to)
msg.Subject(subject)
if err := setEmailBody(msg, textBody, htmlBody); err != nil {
return err
}
return client.DialAndSend(msg)
}
ஹெர்ம்ஸ் மற்றும் wneessen/go-mail மூலம் மின்னஞ்சல் செயல்பாட்டை மேம்படுத்துதல்
நவீன மின்னஞ்சல் கையாளுதலின் ஒரு முக்கிய அம்சம், வெவ்வேறு சாதனங்கள் மற்றும் பயனர் விருப்பத்தேர்வுகளில் உங்கள் செய்திகளை அணுகுவதை உறுதி செய்வதாகும். பல பயனர்கள் தங்கள் மெருகூட்டப்பட்ட வடிவமைப்பிற்காக HTML மின்னஞ்சல்களை விரும்புகிறார்கள், மற்றவர்கள் எளிமை மற்றும் தெளிவுக்கான எளிய உரையை விரும்புகிறார்கள். Hermes மற்றும் wneessen/go-mail ஐப் பயன்படுத்தி, டெவலப்பர்கள் இரு விருப்பங்களையும் பூர்த்தி செய்யும் மின்னஞ்சல்களை தடையின்றி உருவாக்க முடியும், இது ஒரு பரந்த அணுகலை உறுதி செய்கிறது. தனிப்பயனாக்கக்கூடிய டெம்ப்ளேட்டுகள் மற்றும் செய்திமடல்கள் அல்லது பயனர் அறிவிப்புகள் போன்ற நிலையான பிராண்டிங் தேவைப்படும் பயன்பாடுகளுக்கு இந்தக் கருவிகள் குறிப்பாக மதிப்புமிக்கவை. 🚀
இந்த கலவையை தனித்துவமாக்குவது அதன் மட்டுத்தன்மை. ஹெர்ம்ஸ் நன்கு கட்டமைக்கப்பட்ட HTML மற்றும் எளிய உரை உடல்களை உருவாக்குகிறது, இது பிரச்சாரங்கள் முழுவதும் ஒரு ஒருங்கிணைந்த மின்னஞ்சல் வடிவமைப்பை எளிதாக்குகிறது. இந்த அணுகுமுறை நேரத்தை மிச்சப்படுத்துகிறது மற்றும் நிலைத்தன்மையை உறுதி செய்கிறது, குறிப்பாக வழக்கமான மின்னஞ்சல் தொடர்பு இன்றியமையாத சூழலில். உதாரணமாக, ஒரு ஈ-காமர்ஸ் தளம் விளம்பர மின்னஞ்சல்களுக்கு ஹெர்ம்ஸைப் பயன்படுத்தலாம், அதே சமயம் wneessen/go-mail மேம்பட்ட கட்டமைப்புகளுடன் SMTP மூலம் பாதுகாப்பான விநியோகத்தைக் கையாளுகிறது. இந்த அமைப்பு தனிப்பயனாக்கத்தை ஆதரிக்கிறது, இது பயனர் ஈடுபாட்டை மேம்படுத்துவதற்கான முக்கிய காரணியாகும். 💡
கூடுதலாக, wneessen/go-mail இன் நெகிழ்வுத்தன்மை டெவலப்பர்களை TLS மற்றும் தனிப்பயன் அங்கீகாரம் போன்ற விருப்பங்களுடன் பாதுகாப்பான மின்னஞ்சல் விநியோகத்தை அமைக்க அனுமதிக்கிறது. இந்த உள்ளமைவுகள் பரிமாற்றத்தின் போது முக்கியமான தகவல் பாதுகாப்பாக இருப்பதை உறுதி செய்கிறது, இது வங்கி அல்லது சுகாதாரம் போன்ற தொழில்களுக்கான முக்கிய அம்சமாகும். பிழை கையாளும் நடைமுறைகள் மற்றும் வள மேலாண்மை ஆகியவற்றுடன் இதை இணைத்து, இந்த நூலகங்களின் ஒருங்கிணைப்பு தொழில்முறை தர மின்னஞ்சல் அமைப்புகளுக்கு ஒரு வலுவான தீர்வாக மாறும். அளவிடக்கூடிய மற்றும் திறமையான மின்னஞ்சல் தீர்வுகளை உருவாக்கும்போது டெவலப்பர்கள் பெரும்பாலும் இந்தக் கருவிகளை ஏன் பயன்படுத்துகிறார்கள் என்பதுதான் இந்த விவரம்.
wneessen/go-mail மற்றும் Hermes பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
- HTML மற்றும் எளிய உரை மின்னஞ்சல் உடல்கள் இரண்டையும் எவ்வாறு அமைப்பது?
- பயன்படுத்தவும் msg.SetBodyString முறை இரண்டு முறை: ஒரு முறை mail.TypeTextPlain மற்றும் ஒரு முறை mail.TypeTextHTML. மேலெழுதுவதைத் தவிர்க்க ஒவ்வொரு உடலும் தனித்தனியாக அமைக்கப்பட்டிருப்பதை உறுதிசெய்யவும்.
- ஹெர்ம்ஸ் உருவாக்கிய மின்னஞ்சல் டெம்ப்ளேட்களை நான் தனிப்பயனாக்க முடியுமா?
- ஆம், பெயர், இணைப்பு மற்றும் லோகோ போன்ற தயாரிப்பு விவரங்களைத் தனிப்பயனாக்க ஹெர்ம்ஸ் அனுமதிக்கிறது, மேலும் பாணியிலான செயல் பொத்தான்கள் மற்றும் அடிக்குறிப்புகளையும் ஆதரிக்கிறது.
- wneessen/go-mail இல் TLSஐப் பயன்படுத்துவதன் நன்மைகள் என்ன?
- TLS ஆனது உங்கள் பயன்பாட்டிற்கும் SMTP சேவையகத்திற்கும் இடையே மறைகுறியாக்கப்பட்ட தொடர்பை உறுதி செய்கிறது, பயனர் மின்னஞ்சல்கள் அல்லது கடவுச்சொற்கள் போன்ற முக்கியமான தகவல்களைப் பாதுகாக்கிறது.
- மின்னஞ்சல் அனுப்பும் போது ஏற்படும் சிக்கல்களை எவ்வாறு பிழைத்திருத்துவது?
- இணைத்துக்கொள் fmt.Errorf விரிவான பிழைச் செய்திகளைப் படம்பிடித்து அவற்றை பகுப்பாய்வுக்காகப் பதிவுசெய்யவும். இது சிக்கலைத் தீர்ப்பதை எளிதாக்குகிறது.
- இந்தக் கருவிகளால் மொத்த மின்னஞ்சல்களைக் கையாள முடியுமா?
- தனிப்பட்ட மின்னஞ்சல் உள்ளடக்கத்தை உருவாக்குவதில் ஹெர்ம்ஸ் கவனம் செலுத்துகையில், wneessen/go-mail ஆனது லூப்கள் அல்லது வெளிப்புற கருவிகள் மூலம் மொத்த மின்னஞ்சல்களை திறமையாக அனுப்புவதற்கு நீட்டிக்கப்படலாம்.
பல்வேறு பயனர் தேவைகளுக்கான மின்னஞ்சல் செயல்பாட்டைச் செம்மைப்படுத்துதல்
ஹெர்ம்ஸ் மற்றும் wneessen/go-mail போன்ற நூலகங்களைப் பயன்படுத்துவது, இணக்கத்தன்மையை உறுதி செய்யும் போது சிக்கலான செய்தி வடிவங்களை நிர்வகிக்க ஒரு வலுவான வழியை வழங்குகிறது. மட்டு ஸ்கிரிப்ட்களை உருவாக்குவதன் மூலம், டெவலப்பர்கள் நெகிழ்வுத்தன்மையை பராமரிக்கலாம் மற்றும் அவர்களின் தகவல் தொடர்பு முறைகளை மாறிவரும் கோரிக்கைகளுக்கு ஏற்ப மாற்றிக்கொள்ளலாம். நம்பகமான தகவல்தொடர்பு அவசியமாக இருக்கும் தொழில்களுக்கு இந்த கருவிகள் விலைமதிப்பற்றவை. 💡
நடைமுறை பயன்பாட்டு நிகழ்வுகள் மூலம், மெருகூட்டப்பட்ட HTML உள்ளடக்கத்தை அணுகக்கூடிய எளிய உரை விருப்பங்களுடன் இணைப்பதன் மதிப்பை நாங்கள் காண்கிறோம். இந்த அணுகுமுறை பயனர் அனுபவத்தை மேம்படுத்துவது மட்டுமல்லாமல், அணுகலை விரிவுபடுத்துகிறது. பாதுகாப்பான விநியோக நடைமுறைகள் மற்றும் பிழை கையாளுதல் ஆகியவை தொழில்முறையின் ஒரு அடுக்கைச் சேர்க்கின்றன, இந்த அமைப்பை அளவிடக்கூடிய அமைப்புகளுக்கு ஏற்றதாக ஆக்குகிறது.
மின்னஞ்சல் உடல் கையாளுதலுக்கான ஆதாரங்கள் மற்றும் குறிப்புகள்
- ஹெர்ம்ஸ் நூலகம் பற்றிய விரிவான ஆவணங்களை இங்கே காணலாம் ஹெர்ம்ஸ் கிட்ஹப் களஞ்சியம் .
- அதிகாரப்பூர்வ wneessen/go-mail ஆவணங்கள் இங்கே கிடைக்கின்றன wneessen/go-mail GitHub களஞ்சியம் .
- SMTP உள்ளமைவு மற்றும் சிறந்த நடைமுறைகளுக்கு, பார்வையிடவும் கிளவுட் SMTP .
- மின்னஞ்சல் வடிவமைப்பு மற்றும் பொருந்தக்கூடிய சிக்கல்கள் பற்றிய நுண்ணறிவு குறிப்பிடப்பட்டது அமில வலைப்பதிவில் மின்னஞ்சல் .