go-simple-mail
opentracing-javascript
go-simple-mail | opentracing-javascript | |
---|---|---|
5 | 32 | |
603 | 1,090 | |
- | - | |
6.0 | 1.6 | |
about 1 month ago | over 2 years ago | |
Go | TypeScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-simple-mail
-
Microsoft email servers don't support PlainAuth (without modification), but do support LoginAuth. I couldn't find a package to handle it, so I made this one.
This library should support login auth. Does it work with Microsoft email servers?
-
How to get "message-id" sent via net/smtp, SSL?
You can however set a custom message ID, although the standard library doesn't provide an easy way to do this. go-simple-mail to the rescue:
-
Library for sending emails in Go
I like go-simple-mail, it works well for my use case
-
net/smtp issue. "unencrypted connection"
Also, you can use this package https://github.com/xhit/go-simple-mail is easier than standard smtp package
-
Go, NATS, gRPC and PostgreSQL clean architecture microservice with monitoring and tracing π
MailHog is good solution for email testing, and for go smtp client here used go-simple-mail.
opentracing-javascript
-
Kotlin Spring WebFlux, R2DBC and Redisson microservice in k8s πβ¨π«
Spring Spring web framework Spring WebFlux Reactive REST Services Spring Data R2DBC a specification to integrate SQL databases using reactive drivers Redisson Redis Java Client Zipkin open source, end-to-end distributed tracing Spring Cloud Sleuth auto-configuration for distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus Kubernetes automating deployment, scaling, and management of containerized applications Docker and docker-compose Helm The package manager for Kubernetes Flywaydb for migrations
-
Go and ElasticSearch full-text search microservice in k8sπβ¨π«
Elasticsearch client for Go RabbitMQ Go RabbitMQ Client Library Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus Echo web framework Kibana is user interface that lets you visualize your Elasticsearch Docker and docker-compose Kubernetes K8s Helm The package manager for Kubernetes
-
Go EventSourcing and CQRS with PostgreSQL, Kafka, MongoDB and ElasticSearch πβ¨π«
PostgeSQL as event store database Kafka as messages broker gRPC Go implementation of gRPC Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus MongoDB MongoDB database Elasticsearch Elasticsearch client for Go. Echo web framework Kibana Kibana is data visualization dashboard software for Elasticsearch Migrate for migrations
-
OpenTelemetry vs OpenTracing - choosing one for instrumentation
OpenTracing was an open-source project aimed at providing vendor-neutral APIs and instrumentation for distributed tracing. In distributed cloud-native applications, it is difficult for engineering teams to see how requests are performing across services. And thatβs where distributed tracing comes into the picture.
-
OpenTelemetry and Jaeger | Key concepts, features, and differences
OpenTracing is now archived, and it is suggested to migrate to OpenTelemetry.
- Microservice communication Diagram
-
Go EventSourcing and CQRS microservice using EventStoreDB πβ‘οΈπ«
In this article let's try to create closer to real world Event Sourcing CQRS microservice using: ππ¨βπ»π EventStoreDB The database built for Event Sourcing gRPC Go implementation of gRPC MongoDB Web and API based SMTP testing Elasticsearch Elasticsearch client for Go. Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus swag Swagger for Go Echo web framework Kibana Kibana is user interface that lets you visualize your Elasticsearch
-
Do Not Log
I agree; but I think it'll take years, if ever, to change this culture.
Logging is a byproduct of a past time; everything is a file, stdout is a file, lets persist that file, now we have multiple replicas, lets collect the file into a multi-terabyte searchable database.
The biggest downside: Its WILDLY expensive. Large orgs often have an entire team dedicated to maintaining logging (ELK) infrastructure. This price-tag inevitably leads to bikeshedding on backend teams about how to "reduce the amount we're logging" or "cleaning up the logs" or "structuring them to be more useful".
Outside of development, they are so rarely useful. Yet inevitably someone will say: "you're just not structuring your logs correctly." Maybe that's true; similarly, I don't find vim to be a highly productive editing experience. Maybe I just don't have the thousands of extensions it would take to make it so. Or maybe You're stuck in the past and ignoring two decades of tooling improvement. Both can be true.
I'm phrasing this as a false dichotomy, because in many teams: it is. Logging is easy; its built-in to most languages; so devs log. The information we need is in the system; its a needle in a haystack, but the needle is there. We log when a request comes in, when it hits pertinent functions, when its finished, how its finished, the manager says: "just look at the logs". Instead of "what better tooling can we make an investment in so future investigations of this nature don't take a full day."
For starters: Tracing. Tracing systems should be built-in to EVERY LANGUAGE, just like console.log. We have a standard [1] sponsored by the Linux Foundation and supported by every major trace ingestion system. This is not a problem of camps and proprietary systems; its a problem of culture. I should be able to call a nodejs stdlib function at startup, specify where I want traces to go, sampling rate, etc, and immediately get every single function call instrumented. Its literally just highly-structured-by-default logging! Dump the spans to stdout by default! Our log ingestion systems can read each line, determine if its a span, if so route to trace ingestion, otherwise route to log ingestion.
This is a critical step because it asserts that tracing is actually a very powerful tool that everyone needs to learn, like logging. Everyone knows about logging. Why? console.log. Its there, it gets used. Tracing right now is relegated to a subculture of "advanced diagnostics"; you gotta adopt a tracing provider, bring in dependencies, learn each implementation of OpenTracing, authenticate to send traces over HTTP... as a community, we should normalize just "dump traces like you dump logs, to stdout", have a formatter to make them nice to use in development, and now all that instrumentation work that any dev is capable of utilizing (just like console.log) "just works" in production.
[1] https://opentracing.io/
-
I share my authentication server.
Service mesh - ssup2ket services run on service mesh for detailed traffic control and easy monitoring. Service mesh is applied through Istio. Istio uses OpenTracing for easy request tracing between multiple services.
- logging best practices
What are some alternatives?
MailHog - Web and API based SMTP testing
kafka-go - Kafka library in Go
Gomail - The best way to send emails in Go.
opentelemetry-specification - Specifications for OpenTelemetry
email - Robust and flexible email library for Go
prometheus - The Prometheus monitoring system and time series database.
mailyak - An elegant MIME/SMTP email library with support for attachments
signoz - SigNoz is an open-source observability platform native to OpenTelemetry with logs, traces and metrics in a single application. An open-source alternative to DataDog, NewRelic, etc. π₯ π₯. π Open source Application Performance Monitoring (APM) & Observability tool
hermes - Golang package that generates clean, responsive HTML e-mails for sending transactional mail
opentelemetry-js - OpenTelemetry JavaScript Client
go-message - βοΈ A streaming Go library for the Internet Message Format and mail messages
apm-agent-nodejs - Elastic APM Node.js Agent