Git Product home page Git Product logo

mailhog-ui's People

Contributors

blueimp avatar danielwhite avatar djmattyg007 avatar gresau avatar ian-kent avatar jamiebuilds avatar jygastaud avatar khag7 avatar kieran avatar naoina avatar oers avatar omegahm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mailhog-ui's Issues

Web interface broken in MacOS Chrome

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.

How are messages sorted?

Hi,

Thank you very much for creating this project. Can you please help me understand how the messages are sorted in the screenshot below?

image

Also, an enhancement request, it would be great to make the sorting configurable.

Mark message as read if once opened

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.

show preheaders in WEB UI

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

Relaese message does nothing

'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.

Upgrade jQuery

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.

Hide jim message

it would be great if we could hide the jim welcome message

grafik

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.

Add Dark Mode Support

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.

Deleting a message messes up subsequent messages

Test case:

  • Have MailHog UI running with a few messages (we had ~20).
  • Delete a message halfway in the list.
  • Open a message that was after the deleted message.

Expected result: The message opens up.
Actual result: A different message opens up (the one above it seems).

Focus button in deleteAll modal

$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();
  });
}

Missing charset leads to error in the frontend

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

Travis CI build is failing.

Looks like the imports are missing from the main.go file.

I have checked on my forked repo and you can add

before_script:

  • go get

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.

Incorrect rendering for multipart/related with RFC compliant headers

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.