mailhog / mailhog-ui Goto Github PK
View Code? Open in Web Editor NEWMailHog UI
License: MIT License
MailHog UI
License: MIT License
On Chrome MacOS, the web interface in 0.20.0 is completely broken for me; I'm getting this error on pageload:
angular-1.3.8.js:11594 TypeError: $scope.openStream is not a function
at HTMLDocument.<anonymous> (controllers.js:100)
at j (jquery-1.11.0.min.js:2)
at Object.add [as done] (jquery-1.11.0.min.js:2)
at n.fn.ready (jquery-1.11.0.min.js:2)
at n.fn.init (jquery-1.11.0.min.js:2)
at n (jquery-1.11.0.min.js:2)
at new <anonymous> (controllers.js:99)
at Object.invoke (angular-1.3.8.js:4182)
at extend.instance (angular-1.3.8.js:8441)
at angular-1.3.8.js:7693
at forEach (angular-1.3.8.js:331)
at nodeLinkFn (angular-1.3.8.js:7692)
at compositeLinkFn (angular-1.3.8.js:7075)
at compositeLinkFn (angular-1.3.8.js:7078)
at publicLinkFn (angular-1.3.8.js:6954)
at hint.js:1480
at angular-1.3.8.js:1451
at Scope.$eval (angular-1.3.8.js:14383)
at Scope.$apply (angular-1.3.8.js:14482)
at Scope.scopePrototype.$apply (hint.js:1427)
at bootstrapApply (angular-1.3.8.js:1449)
at Object.invoke (angular-1.3.8.js:4182)
at doBootstrap (angular-1.3.8.js:1447)
at Object.angular.resumeBootstrap (angular-1.3.8.js:1475)
at maybeBootstrap (hint.js:569)(anonymous function) @ angular-1.3.8.js:11594(anonymous function) @ angular-1.3.8.js:8544$apply @ angular-1.3.8.js:14484scopePrototype.$apply @ hint.js:1427bootstrapApply @ angular-1.3.8.js:1449invoke @ angular-1.3.8.js:4182doBootstrap @ angular-1.3.8.js:1447angular.resumeBootstrap @ angular-1.3.8.js:1475maybeBootstrap @ hint.js:569
angular-1.3.8.js:9814 GET http://localhost:8025/api/v2/jim 404 (Not Found)
Shot in the dark, could it be that the lack of statement terminator on the line before the declaration of openStream is causing problems? I'd expect either a ;
or \n
to terminate the toggleStream declaration statement.
The UI works for me in MacOS Safari, so it's not fundamentally broken.
Pagination currently defaults to 50 items. Please add a support for user defined limits.
Hi!
At the moment, when you click on the e-mail subject (in e-mail listing area), it does not marked as read - it's always in bold text.
It would be very user-friendly to add some CSS to style :visited
links
/* visited link */
a:visited {
// styles here
}
In current code the subject is rendered via span
tag:
<span class="subject unread ng-binding">e-Mail subject here</span>
My suggestion is to replace/insert inside <a>
tag with any :visited
CSS styling.
The version of moment.js is use has a known CVE logged against it.
Willing to help submit a PR, in the process of exploring how to fix the issue. I have no experience with Golang at all.
Looks like the Travis CI build is failing, but gets fixed in #39, which isn't merged yet.
Hello 👋
first of all, big thanks for maintaining such a great project!
Preheaders are widely used in mailing clients. Majority of mailing campaigns rely on them, so it would be really nice to see them in mailhog's web UI, just to make it easier to test emails and validate their content without inspecting HTML code
Please see mailhog/MailHog#221.
Wrong code is following:
https://github.com/mailhog/MailHog-UI/blob/master/assets/js/controllers.js#L425
Please change to following:
// remove soft line breaks
content = content.replace(/=\r\n/gm, "");
'Release message" does not work:
Same behavior if you fill in correct smtp server login data as if you leave all the field blank. Mailhog does nothing, no error message, no success, no hint, no action!
Please repair.
Latest UI update seems to introduce a rendering bug with long subject lines
Subject column is col-md-3
and final column has col-md-offset-3
, which appears to squash the subject line.
According to RFC 2616 / SEC 4.2:
Field names are case-insensitive
However, this line of code would specifically match case sensitive header field names, so Content-type
, content-type
or anything of the like would result in the UI not rendering HTML views of the email
I noticed that this library is using old jQuery which is not supported anymore. Is it possible to upgrade jQuery. I am more than happy to create PR for it ,however I will need some guidance.
it would be great if we could hide the jim welcome message
with a config switch.
it's great that it is shown by default but it would also be great if we could hide this box, as some of our mailhog users (which are not mailhog tool admins) are not interessted in this message... its even the opposite... those wonder how they can enable jim or ask questions to the too admins, which is not helpful.
Some of us started the conversation at mailhog/MailHog#302
As a Mailhog user, I would like the UI to support dark mode.
Dark mode is not supported by Bootstrap right now, but a third-party Bootstrap theme might be the easiest way to implement this feature.
I'm happy to help, let me know your thoughts, thanks.
I have a duplicate char in the plain text.
On Plain text i Have
BLACKLISTED WAKE UP SMS SENT (+33606060606) : Voici le numéro de confirmation de votre téléphone : 778626. Merci..
But in source I have
BLACKLISTED WAKE UP SMS SENT (+33606060606) : Voici le num=C3=A9ro de con= firmation de votre t=C3=A9l=C3=A9phone : 778626. Merci.=
Maybe the problem is in https://github.com/mailhog/MailHog-UI/blob/master/assets/js/strutil.js#L280
If mailer uses content-type
, Content-type
instead of Content-Type
message will not be displayed as html since case sensitive key match is being used in controller.js.
Test case:
Expected result: The message opens up.
Actual result: A different message opens up (the one above it seems).
$scope.deleteAll
only opens the modal dialog.
Can we set the focus on either the "delete all messages" or the "cancel" button? This would greatly reduce the mileage on my mouse :-)
Example implementation:
$scope.deleteAll = function() {
$('#confirm-delete-all').modal('show').on("show.bs.modal", function(ev) {
$(this).find("button:last").focus();
});
}
My mail did no have the charset set to 'utf-8'. When the subject contains a character such as an umlaut or typographic Quotes („““), then the whole subject will not but display, but instead this internal code:
{{ tryDecodeMime(preview.Content.Headers["Subject"][0]) }}
This feels like a bug!? The frontend should not display this. Normally the string should be displayed, and only the non-ASCII characters should be displayed weirdly, right?
Also mind the console error:
angular-1.3.8.js:11594 ReferenceError: ISO88591_MAP_ENCODED is not defined
at maybeInitIso88591Maps (strutil.js:392:17)
at convertIso88591BytesToUnicodeCodePoints (strutil.js:487:3)
at convertBytesToUnicodeCodePoints (strutil.js:727:12)
at unescapeFromMime (strutil.js:985:27)
at ChildScope.$scope.tryDecodeMime (controllers.js:185:12)
at $parseFunctionCall (angular-1.3.8.js:12332:18)
at Object.expressionInputWatch (angular-1.3.8.js:12735:31)
at Scope.$digest (angular-1.3.8.js:14217:40)
at Scope.$apply (angular-1.3.8.js:14488:24)
at angular-1.3.8.js:16214:36
Looks like the imports are missing from the main.go file.
I have checked on my forked repo and you can add
before_script:
I bumped the language version to v1.13.8 as well due to a failure in the 'go get' using the current set version of 1.6. I will submit a PR.
Alternatively, the Makefile can run 'go get' to get all dependencies, which is probably better as anyone working on the repository will get the required dependencies by running the Makefile.
According to RFC2387, the Content-Type
-header for multipart/related
requires the type
parameter. The RFC isn't super clear about what this means, but some looking around clarifies that this should be the content type of the 'root' part of the multipart.
For a multipart/related with html and images, this might look something like this:
[...]
Content-Type: multipart/related; type="text/html"; boundary="--boundry"
----boundry
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<!doctype html>
[...]
The 'root' HTML part that should be displayed is obviously the one after the boundry; however, the logic in getMessageHTML just picks the first Content-Type
-Header that contains the substring text/html
. This leads to everything from and including ----boundry
to be incorrectly treated and displayed as html.
A possible fix would be to check whether the value of the header actually starts with 'text/html', rather than just checking for containment.
In general, it unfortunately is non-trivial and as far as I'm aware not really specified how to find the actual body to display in an email, so I think just displaying the first thing that looks like text/html
a valid approach. Unfortunately, the current behavior breaks for emails strictly conforming to RFC2387.
A flag to set the web path in config.go would be very useful.
Trying to host similar to http://mygenericserver.com/mailhog and none of the assets load because I can't set the webpath.
Hosting using Docker image from Docker Hub.
as per mailhog/MailHog#262 , no sender is shown in mail list when no From
header
thank you, regards!
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.