Skip to content
This repository has been archived by the owner on Oct 3, 2024. It is now read-only.

New Crowdin updates #27

Merged
merged 25 commits into from
Mar 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
926ccd7
New translations _index.md (Chinese Simplified)
wneessen Mar 21, 2023
8a35692
New translations guide.md (Chinese Simplified)
wneessen Mar 21, 2023
63ebdcf
New translations _index.md (Chinese Simplified)
wneessen Mar 21, 2023
026013f
New translations introduction.md (Chinese Simplified)
wneessen Mar 21, 2023
78a6943
New translations _index.md (Chinese Simplified)
wneessen Mar 21, 2023
214425d
New translations _index.md (Chinese Simplified)
wneessen Mar 21, 2023
26f3a6e
New translations options.md (Chinese Simplified)
wneessen Mar 21, 2023
d2dee69
New translations _index.md (Chinese Simplified)
wneessen Mar 21, 2023
cad0d86
New translations bulk-mailer.md (Chinese Simplified)
wneessen Mar 21, 2023
609dba2
New translations security.md (Chinese Simplified)
wneessen Mar 21, 2023
9023b11
New translations _index.md (Chinese Simplified)
wneessen Mar 21, 2023
645a942
New translations guide.md (Chinese Simplified)
wneessen Mar 21, 2023
a37b16f
New translations introduction.md (Chinese Simplified)
wneessen Mar 21, 2023
f7df032
New translations _index.md (Chinese Simplified)
wneessen Mar 21, 2023
074d51e
New translations options.md (Chinese Simplified)
wneessen Mar 21, 2023
883c18e
New translations bulk-mailer.md (Chinese Simplified)
wneessen Mar 21, 2023
18cc001
New translations security.md (Chinese Simplified)
wneessen Mar 21, 2023
d340211
New translations _index.md (German)
wneessen Sep 13, 2023
a03cc6d
New translations _index.md (Chinese Simplified)
wneessen Sep 13, 2023
06d1369
New translations bulk-mailer.md (German)
wneessen Feb 14, 2024
d2097ed
New translations bulk-mailer.md (Chinese Simplified)
wneessen Feb 14, 2024
9a47e5e
New translations simple-mailer.md (German)
wneessen Mar 16, 2024
abaddad
New translations simple-mailer.md (Chinese Simplified)
wneessen Mar 16, 2024
3e6f8b3
New translations simple-mailer.md (German)
wneessen Mar 16, 2024
f9143a7
New translations simple-mailer.md (German)
wneessen Mar 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/de/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ geekdocNav: false
geekdocAnchor: false
---

[![GoDoc](https://godoc.org/github.com/wneessen/go-mail?status.svg)](https://pkg.go.dev/github.com/wneessen/go-mail) [![codecov](https://codecov.io/gh/wneessen/go-mail/branch/main/graph/badge.svg?token=37KWJV03MR)](https://codecov.io/gh/wneessen/go-mail) [![Go Report Card](https://goreportcard.com/badge/github.com/wneessen/go-mail)](https://goreportcard.com/report/github.com/wneessen/go-mail) [![Crowdin](https://badges.crowdin.net/go-mail/localized.svg)](https://crowdin.com/project/go-mail) [![GitHub release](https://img.shields.io/github/v/release/wneessen/go-mail)](https://github.com/wneessen/go-mail/releases/latest) [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go) [![#go-mail on Discord](https://img.shields.io/badge/Discord-%23gomail-blue.svg)](https://discord.gg/dbfQyC4s) [![REUSE status](https://api.reuse.software/badge/github.com/wneessen/go-mail)](https://api.reuse.software/info/github.com/wneessen/go-mail)
[![GoDoc](https://godoc.org/github.com/wneessen/go-mail?status.svg)](https://pkg.go.dev/github.com/wneessen/go-mail) [![codecov](https://codecov.io/gh/wneessen/go-mail/branch/main/graph/badge.svg?token=37KWJV03MR)](https://codecov.io/gh/wneessen/go-mail) [![Go Report Card](https://goreportcard.com/badge/github.com/wneessen/go-mail)](https://goreportcard.com/report/github.com/wneessen/go-mail) [![Crowdin](https://badges.crowdin.net/go-mail/localized.svg)](https://crowdin.com/project/go-mail) [![GitHub release](https://img.shields.io/github/v/release/wneessen/go-mail)](https://github.com/wneessen/go-mail/releases/latest) [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go) [![#go-mail on Discord](https://img.shields.io/badge/Discord-%23gomail-blue.svg)](https://discord.gg/ysQXkaccXk) [![REUSE status](https://api.reuse.software/badge/github.com/wneessen/go-mail)](https://api.reuse.software/info/github.com/wneessen/go-mail)
<a rel="me" href="https://s.pebcak.de/@go_mail"><img alt="Mastodon Folgen" src="https://img.shields.io/mastodon/follow/109378026621298088?domain=https%3A%2F%2Fs.pebcak.de&style=social"></a>
<a href="https://ko-fi.com/D1D24V9IX"><img src="https://uploads-ssl.webflow.com/5c14e387dab576fe667689cf/5cbed8a4ae2b88347c06c923_BuyMeACoffee_blue.png" height="20" alt="Spendiere mir einen Kaffee"></a>

Expand Down Expand Up @@ -138,5 +138,5 @@ Mit dem Typ `SendError` kann der Benutzer detaillierte Informationen über Zuste
{{< /columns >}}

## Unterstützung
Wir haben einen Support- und allgemeinen Diskussionskanal auf Discord. Du findest uns hier: [#go-mail](https://discord.gg/dbfQyC4s)
Wir haben einen Support- und allgemeinen Diskussionskanal auf Discord. Find us at: [#go-mail](https://discord.gg/ysQXkaccXk)

2 changes: 1 addition & 1 deletion content/de/examples/bulk-mailer.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ func main() {

// Deliver the mails via SMTP
c, err := mail.NewClient("smtp.example.com",
mail.WithSMTPAuth(mail.SMTPAuthPlain), mail.WithTLSPolicy(mail.TLSMandatory),
mail.WithSMTPAuth(mail.SMTPAuthPlain), mail.WithTLSPortPolicy(mail.TLSMandatory),
mail.WithUsername(os.Getenv("SMTP_USER")), mail.WithPassword(os.Getenv("SMTP_PASS")),
)
if err := c.DialAndSend(ms...); err != nil {
Expand Down
71 changes: 71 additions & 0 deletions content/de/examples/simple-mailer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: Einfaches Mailer-Beispiel
---

Dieses Beispiel ist der simpelste Code, der erforderlich ist, um eine E-Mail mit go-mail erfolgreich zu versenden.

```go
package main

import (
"log"
"os"

"github.com/wneessen/go-mail"
)

func main() {
msg := mail.NewMsg()
if err := msg.From("[email protected]"); err != nil {
log.Fatalf("failed to set FROM address: %s", err)
}
if err := msg.To("[email protected]"); err != nil {
log.Fatalf("failed to set TO address: %s", err)
}
msg.Subject("This is my first test mail with go-mail!")
msg.SetBodyString(mail.TypeTextPlain, "This will be the content of the mail.")

// Deliver the mails via SMTP
c, err := mail.NewClient("smtp.example.com",
mail.WithSMTPAuth(mail.SMTPAuthPlain), mail.WithTLSPortPolicy(mail.TLSMandatory),
mail.WithUsername(os.Getenv("SMTP_USER")), mail.WithPassword(os.Getenv("SMTP_PASS")),
)
if err != nil {
log.Fatalf("failed to create new mail delivery client: %s", err)
}
if err := c.DialAndSend(msg); err != nil {
log.Fatalf("failed to deliver mail: %s", err)
}
log.Printf("Test mail successfully delivered.")
}
```

In diesem Beispiel wird eine einfache Test-Mail von `[email protected]` an `[email protected]` gesendet.

Zunächst erstellen wir in [Zeile 11](#hl-0-11) eine neue `Msg`. Der Typ `Msg` enthält alles, was für
für deine Mailnachricht. Stell dir das wie eine neue Mail in deinem Mail-Benutzer-Agent vor. Der Typ `Msg`
stellt dir alle Methoden zur Verfügung, die du zur Vorbereitung und Formatierung deiner Mailnachricht benötigst.

In [Zeile 12](#hl-0-12) bis [14](#hl-0-14) legen wir die Absenderadresse fest. In diesem Fall ist es `[email protected]`.
Da go-mail unter der Haube eine Menge Validierungen durchführt, stellt es sicher, dass die angegebene Mailadresse
gültig ist. Deshalb prüfen wir den zurückgegebenen Fehler. In [Zeile 15](#hl-0-15) bis [17](#hl-0-17) machen wir das Gleiche
dasselbe für die Empfängeradresse. Die E-Mail wird an `[email protected]` gesendet.

Als Nächstes legen wir in [Zeile 18](#hl-0-18) den Betreff für unsere E-Mail-Nachricht fest. Gefolgt vom Setzen einer einfachen Zeichenfolge
als Nachrichtentext in [Zeile 19](#hl-0-19). Das erste Argument für `Msg.SetBodyString()` ist ein MIME Content Type.
In diesem Fall verwenden wir `mail.TypeTextPlain` für den Mailbody - also einen einfachen `plain/text` Mailbody.

Jetzt, wo unsere einfache E-Mail-Nachricht für den Versand vorbereitet ist, können wir einen "Client" erstellen. Der `Client` in go-mail
verwaltet die Verbindung zu einem Mailserver und alles, was damit zusammenhängt. In [Zeile 22](#hl-0-22) bis
[25](#hl-0-25) initialisieren wir einen neuen `Client`-Typ und geben ihm einige Optionen. Das erste Argument ist der
Mailserver, mit dem wir uns verbinden wollen. In unserem Beispiel ist es `smtp.example.com`. Dann teilen wir dem `Client` mit
dass wir die SMTP-Authentifizierung über die Auth-Methode "PLAIN" durchführen müssen. Die Option `mail.WithSMTPAuth(mail.SMTPAuthPlain)`
Option übernimmt dies. Mit der Option `mail.WithTLSPortPolicy(mail.TLSMandatory)` teilen wir dem `Client`
dass wir eine TLS-Verbindung für den Versand unserer Mails benötigen. Wir setzen ihn auf den Zwangsmodus, so dass der `Client`
die Verarbeitung abbricht, wenn er keine TLS-gesicherte Verbindung herstellen kann. Mit den Optionen `mail.WithUsername()`
und `mail.WithPassword()` teilen wir dem `Client` mit, welchen Benutzernamen und welches Passwort er für die
SMTP-Authentifizierung. [Zeilen 26-28](#hl-0-26) prüfe, ob der `Client`-Aufruf ohne Fehler funktioniert hat.

Zum Schluss, in [Zeile 29-32](#hl-0-29), senden wir unsere Mail-Nachricht mit unserem Mail-Client mit der
Methode `Client.DialAndSend()`. Bei Erfolg wird eine kurze Nachricht ausgegeben oder ein Fehler gemeldet, wenn
die Zustellung fehlgeschlagen ist.
17 changes: 6 additions & 11 deletions content/zh/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,13 @@ geekdocNav: false
geekdocAnchor: false
---

[![GoDoc](https://godoc.org/github.com/wneessen/go-mail?status.svg)](https://pkg.go.dev/github.com/wneessen/go-mail)
[![codecov](https://codecov.io/gh/wneessen/go-mail/branch/main/graph/badge.svg?token=37KWJV03MR)](https://codecov.io/gh/wneessen/go-mail)
[![Go Report Card](https://goreportcard.com/badge/github.com/wneessen/go-mail)](https://goreportcard.com/report/github.com/wneessen/go-mail)
[![Crowdin](https://badges.crowdin.net/go-mail/localized.svg)](https://crowdin.com/project/go-mail)
[![GitHub release](https://img.shields.io/github/v/release/wneessen/go-mail)](https://github.com/wneessen/go-mail/releases/latest)
[![在 Awesome Go 中提到](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go) [![#go-mail on Discord](https://img.shields.io/badge/Discord-%23gomail-blue.svg)](https://discord.gg/dbfQyC4s)
[![REUSE status](https://api.reuse.software/badge/github.com/wneessen/go-mail)](https://api.reuse.software/info/github.com/wneessen/go-mail)
[![GoDoc](https://godoc.org/github.com/wneessen/go-mail?status.svg)](https://pkg.go.dev/github.com/wneessen/go-mail) [![codecov](https://codecov.io/gh/wneessen/go-mail/branch/main/graph/badge.svg?token=37KWJV03MR)](https://codecov.io/gh/wneessen/go-mail) [![Go Report Card](https://goreportcard.com/badge/github.com/wneessen/go-mail)](https://goreportcard.com/report/github.com/wneessen/go-mail) [![Crowdin](https://badges.crowdin.net/go-mail/localized.svg)](https://crowdin.com/project/go-mail) [![GitHub release](https://img.shields.io/github/v/release/wneessen/go-mail)](https://github.com/wneessen/go-mail/releases/latest) [![在 Awesome Go 中提到](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go) [![#go-mail on Discord](https://img.shields.io/badge/Discord-%23gomail-blue.svg)](https://discord.gg/ysQXkaccXk) [![REUSE status](https://api.reuse.software/badge/github.com/wneessen/go-mail)](https://api.reuse.software/info/github.com/wneessen/go-mail)
<a rel="me" href="https://s.pebcak.de/@go_mail"><img alt="Mastodon Follow" src="https://img.shields.io/mastodon/follow/109378026621298088?domain=https%3A%2F%2Fs.pebcak.de&style=social"></a>
<a href="https://ko-fi.com/D1D24V9IX"><img src="https://uploads-ssl.webflow.com/5c14e387dab576fe667689cf/5cbed8a4ae2b88347c06c923_BuyMeACoffee_blue.png" height="20" alt="buy ma a coffee"></a>

<p align="center"><img src="/go-mail-2.svg" width="250" alt="go-mail logo"/></p>

go-mail 是一个易于使用的 Go 库,用于格式化和发送邮件。它使用惯用的 Go 风格,并遵循最佳实践和合理的默认值。该库仅依赖于 Go 标准库。
go-mail 是一个易于使用的 Go 库,用于格式化和发送邮件。 它使用惯用的 Go 风格,并遵循最佳实践和合理的默认值。 该库仅依赖于 Go 标准库。

go-mail 的工作方式类似于编程式电子邮件客户端,并提供了许多您在 MUA 中考虑的标准方法和功能。

Expand All @@ -29,7 +23,7 @@ go-mail 的工作方式类似于编程式电子邮件客户端,并提供了许

{{< columns >}}

### 仅依赖于标准库
### Standard Library dependant

go-mail 不需要任何第三方模块,仅运行在 Go 标准库上

Expand Down Expand Up @@ -103,7 +97,7 @@ go-mail 支持不同的编码和内容类型

### Sendmail 和文件存储

支持通过本地 sendmail 安装发送邮件消息以及输出到本地文件(例如作为磁盘上的 `.eml` 文件以在 MUA 中打开它们)
支持通过本地 sendmail 安装发送邮件消息以及输出到本地文件(例如作为磁盘上的 `.eml` 文件以在 MUA 中打开它们) as `.eml` files to disk to open them in a MUA)

{{< /columns >}}

Expand Down Expand Up @@ -144,4 +138,5 @@ go-mail 提供了请求 MDN(RFC 8098)和 DSN(RFC 1891)的支持
{{< /columns >}}

## 支持
我们在 Discord 上有一个支持和一般讨论频道。找到我们:[#go-mail](https://discord.gg/dbfQyC4s)
我们在 Discord 上有一个支持和一般讨论频道。 Find us at: [#go-mail](https://discord.gg/ysQXkaccXk)

31 changes: 16 additions & 15 deletions content/zh/community/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ go-mail社区正在壮大,如果您正在阅读此文,那么您也想加入

* [Mastodon](https://s.pebcak.de/@go_mail/):在Mastodon上关注我们,以获取有关go-mail的最新消息
* [go-mail论坛](https://github.com/wneessen/go-mail/discussions):接收有关go-mail的公告并开始讨论。
* [Github问题](https://github.com/wneessen/go-mail/issues):如果您要报告错误或请求功能,请使用GitHub问题。请遵守每个存储库的问题模板中指定的规则。
* [Github问题](https://github.com/wneessen/go-mail/issues):如果您要报告错误或请求功能,请使用GitHub问题。 请遵守每个存储库的问题模板中指定的规则。
* [Discord](https://discord.gg/dbfQyC4s):go-mail开发人员和用户在此处实时会面和聊天的地方。

## 贡献

go-mail是一个开源的、社区驱动的项目。我们欢迎任何人加入我们为项目做出贡献。本文档旨在帮助任何希望熟悉项目和开发流程的人。
go-mail是一个开源的、社区驱动的项目。 我们欢迎任何人加入我们为项目做出贡献。 本文档旨在帮助任何希望熟悉项目和开发流程的人。

* [开发新功能](#developing-new-features)
* [修复错误](#fixing-bugs)
Expand All @@ -34,19 +34,19 @@ go-mail是一个开源的、社区驱动的项目。我们欢迎任何人加入

### 开发新功能

我们始终热衷于为go-mail添加新功能。添加新功能的过程如下:
我们始终热衷于为go-mail添加新功能。 添加新功能的过程如下:

* 在Github的[问题部分](https://github.com/wneessen/go-mail/issues)中检查带有“TODO”或“help wanted”标签的可用问题
* 如果没有找到打开的“TODO”/“help wanted”问题或您想要的功能未涵盖,请为该特定功能打开一个提案问题,并等待项目维护者的“OK”
* 开发之前,请检查问题是否包括以下信息:
* 增强的目的
* 增强范围之外的内容
* 如果问题不包括此信息,请随时向打开问题的人请求信息。有时会创建占位符问题并需要更多详细信息
* 如果问题不包括此信息,请随时向打开问题的人请求信息。 有时会创建占位符问题并需要更多详细信息
* 在问题上发表评论,说明您希望开发该功能
* 克隆存储库并创建格式为`feature/<issue_number>_<issue_title>`的分支
* 新功能通常需要文档,因此请确保您还添加或更新了文档作为更改的一部分
* 请确保您的代码具有所需的测试覆盖范围
* 一旦功能准备好进行测试,请创建草案PR。请确保PR说明中列出了测试场景和测试用例,并带有复选框,以便其他人知道仍需测试什么
* 一旦功能准备好进行测试,请创建草案PR。 请确保PR说明中列出了测试场景和测试用例,并带有复选框,以便其他人知道仍需测试什么
* 一旦所有测试都完成,请从草案中更新PR的状态并留言

{{< hint type=important >}}
Expand All @@ -60,49 +60,50 @@ go-mail是一个开源的、社区驱动的项目。我们欢迎任何人加入
* 检查[Github问题](https://github.com/wneessen/go-mail/issues)并选择要修复的错误
* 开发之前,请检查问题是否包括以下信息:
* 受影响的平台范围
* 重现步骤。有时会打开不是go-mail问题的错误,并且责任在于报告人证明它是具有最小可重现示例的go-mail问题
* 重现步骤。 有时会打开不是go-mail问题的错误,并且责任在于报告人证明它是具有最小可重现示例的go-mail问题
* 如果问题不包括此信息,请随时向打开问题的人请求信息
* 在问题上发表评论,说明您希望开发修复程序
* 克隆存储库并创建格式为`bugfix/<issue_number>_<issue_title>`的分支
* 一旦修复程序准备好进行测试,请创建草案PR。请确保PR说明中列出了测试场景和测试用例,并带有复选框,以便其他人知道仍需测试什么
* 一旦修复程序准备好进行测试,请创建草案PR。 请确保PR说明中列出了测试场景和测试用例,并带有复选框,以便其他人知道仍需测试什么
* 一旦所有测试都完成,请从草案中更新PR的状态并留言。

{{< hint type=note >}}
没有任何阻止您打开问题并自己解决它,但请注意,所有错误修复都应该进行讨论,因为方法可能会产生意外的副作用。
{{< /hint >}}

{{< hint type=important >}}
未附带相应问题的任何PR可能会被拒绝。
{{< /hint >}}


### 测试

测试对于确保项目质量至关重要。有几种情况下,测试可以真正帮助项目:
测试对于确保项目质量至关重要。 有几种情况下,测试可以真正帮助项目:

* 测试是否可以在本地系统上重现错误
* 测试PR以确保它们正常工作

如果您选择测试某人的错误报告是否可以在本地系统上重现,则可以在问题上添加评论,确认这一点,并附上测试程序的输出。

要测试PR,请选择要测试的PR并检查PR说明中是否列出了测试场景。如果没有,请要求打开PR的人提供该列表。一旦确定了有效的测试场景,请在PR上报告您的发现。
要测试PR,请选择要测试的PR并检查PR说明中是否列出了测试场景。 如果没有,请要求打开PR的人提供该列表。 一旦确定了有效的测试场景,请在PR上报告您的发现。

如果您需要更多的明确或帮助进行测试,请在[Github论坛](https://github.com/wneessen/go-mail/discussions)或[Discord](https://discord.gg/dbfQyC4s)上提问。

### 文档

虽然我们要求代码中有适当的GoDoc文档注释,但本网站旨在更深入地记录功能和项目本身的文档。

由于文档很难,网站仍处于不完整状态,因此对此的任何贡献都将不胜感激。没有文档的功能被认为是“未完成”的项目,它与代码一样重要。
由于文档很难,网站仍处于不完整状态,因此对此的任何贡献都将不胜感激。 没有文档的功能被认为是“未完成”的项目,它与代码一样重要。

该网站基于Hugo使用Geekdocs主题构建。它非常简单,基本上由Markdown文件组成。在[网站的存储库](https://github.com/wneessen/go-mail-website)中有有关如何在本地计算机上安装网站的说明。
该网站基于Hugo使用Geekdocs主题构建。 它非常简单,基本上由Markdown文件组成。 在[网站的存储库](https://github.com/wneessen/go-mail-website)中有有关如何在本地计算机上安装网站的说明。

### 翻译

go-mail项目的默认文档是英文文档。我们使用“Crowdin”工具将其他语言的文档翻译并同步到网站上。您可以[加入我们的项目](https://translations.go-mail.dev)并提交您的翻译以进行贡献。
go-mail项目的默认文档是英文文档。 我们使用“Crowdin”工具将其他语言的文档翻译并同步到网站上。 您可以[加入我们的项目](https://translations.go-mail.dev)并提交您的翻译以进行贡献。

目前,唯一支持的第二种语言是德语,但我们也热衷于添加其他语言。请通过go-mail-website存储库中的Github问题请求它们。
目前,唯一支持的第二种语言是德语,但我们也热衷于添加其他语言。 请通过go-mail-website存储库中的Github问题请求它们。

### 支持

为项目做出贡献的一个很好的方法是帮助那些遇到困难的人。这通常报告为问题或在`#go-mail` [Discord频道](https://discord.gg/dbfQyC4s)上的消息。即使只是澄清问题,也可以真正帮助。有时,当问题得到讨论并得到解决时,我们会将其制作成指南,以帮助其他面临相同问题的人。
为项目做出贡献的一个很好的方法是帮助那些遇到困难的人。 这通常报告为问题或在`#go-mail` [Discord频道](https://discord.gg/dbfQyC4s)上的消息。 即使只是澄清问题,也可以真正帮助。 有时,当问题得到讨论并得到解决时,我们会将其制作成指南,以帮助其他面临相同问题的人。

3 changes: 2 additions & 1 deletion content/zh/examples/_index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: Examples
weight: -20
---
---

Loading
Loading