aboutsummaryrefslogtreecommitdiff
path: root/lib/smtp/mail_tx_example_test.go
AgeCommit message (Collapse)Author
2026-01-15all: convert license and copyright to use SPDX identifiersShulhan
With help of spdxconv tool [1], we able to bulk update all files license and copyright format to comply with SPDX formats. [1] https://kilabit.info/project/spdxconv/
2024-03-05all: comply with linter recommendations #2Shulhan
HTTP request now implicitly create request with context. Any false positive related to not closing HTTP response body has been annotated with "nolint:bodyclose". In the example code, use consistent "// Output:" comment format, by prefixing with single space. Any comment on code now also prefixing with single space. An error returned without variables now use [errors.New] instead of [fmt.Errorf]. Any error returned using [fmt.Errorf] now wrapped using "%w" instead of "%s". Also, replace error checking using [errors.Is] or [errors.As], instead of using equal/not-equal operator. Any statement like "x = x OP y" now replaced with "x OP= y". Also, swap statement is simplified using "x, y = y, x". Any switch statement with single case now replaced with if-condition. Any call to defer on function or program that call [os.Exit], now replaced by calling the deferred function directly. Any if-else condition now replaced with switch statement, if possible.
2024-03-02all: move the repository to "git.sr.ht/~shulhan/pakakeh.go"Shulhan
There are several reasons that why we move from github.com. First, related to the name of package. We accidentally name the package with "share" a common word in English that does not reflect the content of repository. By moving to other repository, we can rename it to better and unique name, in this "pakakeh.go". Pakakeh is Minang word for tools, and ".go" suffix indicate that the repository related to Go programming language. Second, supporting open source. The new repository is hosted under sourcehut.org, the founder is known to support open source, and all their services are licensed under AGPL, unlike GitHub that are closed sources. Third, regarding GitHub CoPilot. The GitHub Terms of Service [1], allow any public content that are hosted there granted them to parse the content. On one side, GitHub helps and flourish the open source, but on another side have an issues regarding scraping the copyleft license [2]. [1]: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#4-license-grant-to-us [2]: https://githubcopilotinvestigation.com
2023-09-13lib/ascii: replace package "math/rand" with "crypto/rand"Shulhan
Since Go 1.20 the "math/rand.Seed" is considered deprecated (the initial value of rand is seeded automatically, not zero). Now, it is the time to replace "math/rand" with more secure random number generator, from "crypto/rand". This changes affect tests in package "lib/email", "lib/http", and "lib/stmp".
2023-05-20lib/smtp: change the package name in Example to have _test suffixShulhan
Package name in test Example should be different with the actual package. This is to minimize leaking un-exported function or method in Example test.
2022-02-28lib/email: set the Date and Message-ID on Message PackShulhan
Calling Pack now set the Date header if its not exist, using the local time; and the message-id header if its not exist using the following format: <epoch>.<random-8-chars>@<local-hostname> The random-8-chars is Seed-ed from Epoch(), so does the boundary.
2022-02-27lib/email: reorder the MIME header to write the mime-version firstShulhan
Previously, the MIME header is generated in the following order: content-type: ... mime-version: ... content-transfer-encoding: ... This changes reorder the mime-version to the top.
2022-02-24lib/email: set the header Date field on NewMultipartShulhan
The Date field value is set to current time on the system that generated the message. The date format is set to "Mon, 2 Jan 2006 15:04:05 -0700" according to RFC 5322 section 3.3.
2022-02-18lib/smtp: provide an example of how to create MailTx from email packageShulhan
If one read the current documentation on how to use the Client.SendTx, there is a missing link on how to create and populate MailTx. This changes provide the example using the email package to generate the MailTx Data.