<commit_before>package mailer

import (
    "bytes"
    "github.com/orc/utils"
    "log"
    "net/smtp"
    "strconv"
    "text/template"
)

const HASH_SIZE = 32
const Server = "http://secret-oasis-3805.herokuapp.com"

var err error

type Admin struct {
    Name   string

    EmailAdmin  string
    Password    string

    SMTPServer string
    Port        int
}

type SmtpTemplateData struct {
    From            string
    To              string
    Subject         string
    ConfirmationUrl string
    RejectionUrl    string
    EventName       string
}

var admin = &Admin{
    Name:       "Secret Oasis",
    EmailAdmin: "<EMAIL>",
    Password:   "<PASSWORD>",
    SMTPServer: "smtp.gmail.com",
    Port:       587}

var auth = smtp.PlainAuth(
    "",
    admin.EmailAdmin,
    admin.Password,
    admin.SMTPServer)

var comfirmRegistrationEmailTmp = `From: {{.From}}
To: {{.To}}
Subject: {{.Subject}}

Здравствуйте!

Спасибо за использование нашего ресурса secret-oasis-3805.com!
Для подтверждения вашей учетной записи, пожалуйста, перейдите по ссылке: {{ .ConfirmationUrl }}

Если это письмо попало к Вам по ошибке, то, чтобы больше не получать писем от ` + admin.Name + `, перейдите по этой ссылке: {{ .RejectionUrl }}`

var rejectRequestTmp = `From: {{.From}}
To: {{.To}}
Subject: {{.Subject}}

Здравствуйте!

Спасибо за использование нашего ресурса secret-oasis-3805.com!
Вы отправили заявку на участие в мероприятии "{{ .EventName }}", но указанные Вами данные имеют некоторые неточности.
Пожалуйста, заполните заявку еще раз.`

var confirmRequestTmp = `From: {{.From}}
To: {{.To}}
Subject: {{.Subject}}

Здравствуйте!

Спасибо за использование нашего ресурса secret-oasis-3805.com!
Ваша заявка на участие в мероприятии "{{ .EventName }}" принята.`

func SendConfirmEmail(to, address, token string) {

    log.Println("SendConfirmEmail: address: ", address)
    log.Println("SendConfirmEmail: to: ", to)

    context := &SmtpTemplateData{
        From: admin.Name,
        To: to,
        Subject: "Подтверждение регистрации",
        ConfirmationUrl: Server+"/handler/confirmuser/"+token,
        RejectionUrl: Server+"/handler/rejectuser/"+token}

    t, err := template.New("confirmationmail").Parse(comfirmRegistrationEmailTmp)
    if utils.HandleErr("[SendEmail] Error trying to parse mail template: ", err, nil) {
        return
    }

    var doc bytes.Buffer
    err = t.Execute(&doc, context)
    if utils.HandleErr("[SendEmail] Error trying to execute mail template: ", err, nil) {
        return
    }

    err = smtp.SendMail(
        admin.SMTPServer+":"+strconv.Itoa(admin.Port),
        auth,
        admin.EmailAdmin,
        []string{address},
        doc.Bytes())

    if utils.HandleErr("[SendEmail] Error attempting to send a mail: ", err, nil) {
        return
    }
}

func SendEmailToConfirmRejectPersonRequest(to, address, event string, confirm bool) {
<commit_msg>mailer: fix address of server<commit_after>package mailer

import (
    "bytes"
    "github.com/orc/utils"
    "log"
    "net/smtp"
    "strconv"
    "text/template"
)

const HASH_SIZE = 32
const Server = "secret-oasis-3805.herokuapp.<EMAIL>"

var err error

type Admin struct {
    Name   string

    EmailAdmin  string
    Password    string

    SMTPServer string
    Port        int
}

type SmtpTemplateData struct {
    From            string
    To              string
    Subject         string
    ConfirmationUrl string
    RejectionUrl    string
    EventName       string
}

var admin = &Admin{
    Name:       "Secret Oasis",
    EmailAdmin: "<EMAIL>",
    Password:   "<PASSWORD>",
    SMTPServer: "smtp.gmail.com",
    Port:       587}

var auth = smtp.PlainAuth(
    "",
    admin.EmailAdmin,
    admin.Password,
    admin.SMTPServer)

var comfirmRegistrationEmailTmp = `From: {{.From}}
To: {{.To}}
Subject: {{.Subject}}

Здравствуйте!

Спасибо за использование нашего ресурса secret-oasis-3805.com!
Для подтверждения вашей учетной записи, пожалуйста, перейдите по ссылке: {{ .ConfirmationUrl }}

Если это письмо попало к Вам по ошибке, то, чтобы больше не получать писем от ` + admin.Name + `, перейдите по этой ссылке: {{ .RejectionUrl }}`

var rejectRequestTmp = `From: {{.From}}
To: {{.To}}
Subject: {{.Subject}}

Здравствуйте!

Спасибо за использование нашего ресурса secret-oasis-3805.com!
Вы отправили заявку на участие в мероприятии "{{ .EventName }}", но указанные Вами данные имеют некоторые неточности.
Пожалуйста, заполните заявку еще раз.`

var confirmRequestTmp = `From: {{.From}}
To: {{.To}}
Subject: {{.Subject}}

Здравствуйте!

Спасибо за использование нашего ресурса secret-oasis-3805.com!
Ваша заявка на участие в мероприятии "{{ .EventName }}" принята.`

func SendConfirmEmail(to, address, token string) {

    log.Println("SendConfirmEmail: address: ", address)
    log.Println("SendConfirmEmail: to: ", to)

    context := &SmtpTemplateData{
        From: admin.Name,
        To: to,
        Subject: "Подтверждение регистрации",
        ConfirmationUrl: Server+"/handler/confirmuser/"+token,
        RejectionUrl: Server+"/handler/rejectuser/"+token}

    t, err := template.New("confirmationmail").Parse(comfirmRegistrationEmailTmp)
    if utils.HandleErr("[SendEmail] Error trying to parse mail template: ", err, nil) {
        return
    }

    var doc bytes.Buffer
    err = t.Execute(&doc, context)
    if utils.HandleErr("[SendEmail] Error trying to execute mail template: ", err, nil) {
        return
    }

    err = smtp.SendMail(
        admin.SMTPServer+":"+strconv.Itoa(admin.Port),
        auth,
        admin.EmailAdmin,
        []string{address},
        doc.Bytes())

    utils.HandleErr("[SendEmail] Error attempting to send a mail: ", err, nil)
}

func SendEmailToConfirmRejectPersonRequest(to, address, event string, confirm bool) {

{'fraction_non_alphanumeric': 0.11492666091458154, 'fraction_numerical': 0.00724762726488352, 'mean_word_length': 3.096113074204947, 'pattern_counts': {'":': 2, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1825580', 'n_tokens_mistral': 2012, 'n_tokens_neox': 2092, 'n_words': 502}