miaplaza / middlemail Goto Github PK
View Code? Open in Web Editor NEWTransactional Email
License: MIT License
Transactional Email
License: MIT License
We are currently at using EasyNetQ at version 5.2.0 but should try to upgrade to the current major version. We would need to test if we could still consume messages from 5.2.0 when using 6.x. That would make simplify the upgrade.
probably using Kubernetes-in-Docker as this makes it easy to run the dependencies?
Sometimes MiddleMail crashes with the following stack trace:
Unhandled exception. System.TimeoutException: The operation requested on PersistentChannel timed out
at EasyNetQ.Producer.PersistentChannel.InvokeChannelAction(Action`1 channelAction)
at EasyNetQ.Producer.ClientCommandDispatcherSingleton.<>c__DisplayClass7_0`1.<InvokeAsync>b__0()
--- End of stack trace from previous location where exception was thrown ---
at EasyNetQ.Producer.ClientCommandDispatcherSingleton.Invoke[T](Func`2 channelAction)
at EasyNetQ.Producer.ClientCommandDispatcher.Invoke[T](Func`2 channelAction)
at EasyNetQ.RabbitAdvancedBus.QueueDeclare(String name, Boolean passive, Boolean durable, Boolean exclusive, Boolean autoDelete, Nullable`1 perQueueMessageTtl, Nullable`1 expires, Nullable`1 maxPriority, String deadLetterExchange, String deadLetterRoutingKey, Nullable`1 maxLength, Nullable`1 maxLengthBytes)
at EasyNetQ.RabbitBus.SubscribeAsync[T](String subscriptionId, Func`2 onMessage, Action`1 configure)
at EasyNetQ.RabbitBus.SubscribeAsync[T](String subscriptionId, Func`2 onMessage)
at MiddleMail.MessageSource.RabbitMQ.RabbitMQMessageSource.Start(Func`2 callback) in /app/src/MiddleMail.MessageSource.RabbitMQ/RabbitMQMessageSource.cs:line 35
at MiddleMail.MiddleMailService.ExecuteAsync(CancellationToken cancellationToken) in /app/src/MiddleMail/MiddleMailService.cs:line 31
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
at MiddleMail.Server.Program.Main(String[] args) in /app/src/MiddleMail.Server/Program.cs:line 17
the future of the Docker Hub is a bit uncertain. And it's probably easier to upload to GitHub.
so we can actually helm install
them.
probably using the Kubernetes-in-Docker action.
Do we really need to execute the NoOp
command or can we just check for a ServiceNotConnectedException
when calling SendAsync
Investigate when exactly we can throw a MimeMessageSenderException
(it is better to be conservative here and do not throw if we are unsure)
It should be possible to use instead of one very large index multiple indices e.g. one per week. That would allow the use of curator (https://www.elastic.co/guide/en/elasticsearch/client/curator/5.8/index.html) for automatic deletion of older data.
the badge is broken in the README. We should fix it.
We need to find a way to version or upgrade the model of EmailMessage
. EasyNetQ routes by typename so we cannot just add fields to the model when running producers and consumer with different model versions. https://github.com/EasyNetQ/EasyNetQ/wiki/Versioning-Messages does not work with future publish (which we use).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.