Documentation
¶
Index ¶
- Constants
- func BuildConfirmationEmailHTML(username, confirmURL string) string
- func BuildConfirmationEmailText(username, confirmURL string) string
- func BuildEmailHTML(title, preheaderText, bodyContent string) string
- func BuildMIMEMessage(fromName, fromAddr, to, subject, textBody, htmlBody string) ([]byte, error)
- func BuildPasswordResetEmailHTML(newPassword string) string
- func BuildPasswordResetEmailText(newPassword string) string
- func ComparePtrString(a, b *string) bool
- func ConvertFromGrams(weight float64, toUnit string) float64
- func ConvertToGrams(weight float64, fromUnit string) float64
- func ConvertWeightUnit(unit string) string
- func FormatWeight(weightInGrams float64, displayUnit string) string
- func GenerateRandomCode(length int) (string, error)
- func IsValidEmail(email string) bool
- func IsValidUsername(username string) bool
- func LogAndSanitize(err error, context string) string
- func StringToUint(s string) (uint, error)
- type EmailSender
- type SMTPClient
Constants ¶
const ( ErrMsgInternalServer = "Internal server error" ErrMsgNotFound = "Resource not found" ErrMsgBadRequest = "Invalid request" ErrMsgForbidden = "Access forbidden" )
Safe error messages for clients
const ( // Grams to other units GramsPerOunce = 28.3495 GramsPerPound = 453.592 )
Weight conversion constants
Variables ¶
This section is empty.
Functions ¶
func BuildConfirmationEmailHTML ¶ added in v1.3.1
BuildConfirmationEmailHTML returns the branded HTML body for a confirmation email.
func BuildConfirmationEmailText ¶ added in v1.3.1
BuildConfirmationEmailText returns the plain-text body for a confirmation email.
func BuildEmailHTML ¶ added in v1.3.1
BuildEmailHTML wraps body content in a branded HTML email layout. title and preheaderText are HTML-escaped; bodyContent is trusted pre-built HTML.
func BuildMIMEMessage ¶ added in v1.3.1
func BuildMIMEMessage( fromName, fromAddr, to, subject, textBody, htmlBody string, ) ([]byte, error)
BuildMIMEMessage constructs a multipart/alternative MIME email message with proper headers.
func BuildPasswordResetEmailHTML ¶ added in v1.3.1
BuildPasswordResetEmailHTML returns the branded HTML body for a password reset email.
func BuildPasswordResetEmailText ¶ added in v1.3.1
BuildPasswordResetEmailText returns the plain-text body for a password reset email.
func ComparePtrString ¶ added in v0.11.0
func ConvertFromGrams ¶ added in v0.9.0
ConvertFromGrams converts a weight from grams to the specified unit
func ConvertToGrams ¶ added in v0.9.0
ConvertToGrams converts a weight from any unit to grams
func ConvertWeightUnit ¶
func FormatWeight ¶ added in v0.9.0
FormatWeight formats a weight in grams to a human-readable string
func GenerateRandomCode ¶ added in v0.3.0
func IsValidEmail ¶ added in v0.4.1
func IsValidUsername ¶ added in v1.4.0
IsValidUsername checks that a username does not contain '@' to avoid ambiguity with email login.
func LogAndSanitize ¶ added in v0.16.0
LogAndSanitize logs the actual error internally and returns a safe message for the client
func StringToUint ¶
Types ¶
type EmailSender ¶ added in v0.3.0
EmailSender defines the interface for sending emails. Needed for testing without real SMTP server.
type SMTPClient ¶ added in v0.3.0
type SMTPClient struct {
Server config.MailServer
}
SMTPClient struct implements EmailSender interface.
func (*SMTPClient) SendEmail ¶ added in v0.3.0
func (s *SMTPClient) SendEmail(to, subject, textBody, htmlBody string) error
SendEmail sends an email using the SMTP protocol with proper MIME multipart/alternative formatting. MailIdentity must be a valid email address (validated at startup) — used as envelope sender and From address. MailUsername is the SMTP authentication login credential.