Spacemail.xyz - webbased eve mail client

You’re allowed to take real life money donations, as long as you do not offer anything in return (software features, isk, in-game items etc.).

I think it’s fair to be a little pushy with the donation buttons, if you need the money for hosting. I don’t know how successful it will be, but, ever bit counts, I guess. Especially if you need to upgrade the server.

1 Like

For now I’m fine and I won’t ask for real life money. I got unlimited traffic and the load it causes is still pretty low (currently its about 50 users in 24 hours). Some people donated some isk, that’s much appreciated but not mandatory, after all I do this just for fun.

1 Like

Yerh, I do it for fun to (eve is a great community to develop for, too), but, I got a desktop app, that is a lot easier (read: cheaper) to have a lot of users (not that I have that many users, though :smile:). Still maintain a site for updates/downloads etc. but, it’s really low cost.

1 Like

Unread counts and envelope icons will change right away no if you open a mail, however, mail headers are cached for 30 seconds, so if you read a mail and refresh the entire page within 30 seconds it will show as unread again.

2 Likes

Nothing is unlimited m8 :robot:

I’ve noticed that you’re recursively calling your servers mail endpoint on every success call. So, each client connected is calling your server on average 1.2 seconds… this will go up with the more clients connected and will deplete server resources faster.

To save on your server costs I would limit the calls to once every 30 seconds from the client as the ESI API is cached for 30 seconds anyway. You could using something like lodashes throttle function to do this https://lodash.com/docs/4.17.4#throttle

1 Like

Hi,

Well since the mail endpoint is paginated, it needs a lot of calls to get all mails, guess the only way around would be to store them for longer times which I don’t want. On the other hand, the individual calls are cached and honor the server side expiry header plus a definable additional cache time. I will have to increase that if it becomes a problem (and i should probably make this a config option).

Edit: Made the extra cache time a config option, if anybody updates from the sources, please check the updated config.php.sample.

1 Like

@Snitch_Ashor
Thank you for doing my feature request.
And again, thank you for creating such an awesome site! :slight_smile:

1 Like

Quick update:

Implemented a first version of mass delete/mark read or unread
The last column should be checkboxes now to select rows, at the bottom you will find select/deselect all and the actions. Currently its disabled for small screens like mobiles and the design is not finished. It works per page (25 by default) and its not tested for larger amounts, so if you encounter any errors please lemme know.

2 Likes

Hey @Snitch_Ashor Snitch,

question…
Installed your EVEGate Side.
If i try to login i get this error:

Fatal error: Call to undefined function random_int() \gate\login.php on line 15

Error form my side or a generell thing you can help me?

Greetings,

Kaho

1 Like

My bad, this one exists only in php7 I just did a quick fix so if you download it again, it should work.

2 Likes

Thanks @Snitch_Ashor.
I dont know… i feel like a noob :stuck_out_tongue:

http://mail.braindead-zombies.org/

Callback URL: http://mail.braindead-zombies.org/login.php

Scopes:
esi-calendar.respond_calendar_events.v1
esi-calendar.read_calendar_events.v1
esi-mail.organize_mail.v1
esi-mail.read_mail.v1
esi-mail.send_mail.v1
esi-characters.read_contacts.v1
esi-characters.read_notifications.v1

But i cant login. If i choose my Char it just reload the Login Side…
Edit: It even dont show the asked rigths on the soo login?

1 Like

Yeah found that as well, the scopes are missing from the url. Any chance something is wrong inside your config.php? And please download the latest version as I did a few more little fixes to restore php5 compatibility.

1 Like

Hm… Nope. Same error…

Have created a new Application for this but still same Problem.
Fresh download, only added the database and the app key :frowning:

1 Like

Ok in order to debug this, can you please edit the login.php and find this line at the end:
header('Location: '.$url);
And replace the word header with print.
Please try to login and send me the output, which shoulb be Location: something.

Nevermind, found the issue, its again something not compatible with php5. Gimme a minute.

1 Like

Ok should be fixed now.

The format of the config file did change, so if anybody updates from the sources please check the updated config.php.sample

1 Like

Hey,

thanks snitch. Ill give it a try this evening :slight_smile:

1 Like

@Snitch_Ashor Awesome! It works!
You should include a donation thing… Really!

Hope to get more Stuff <3 :smiley:

Edit:
Notifications seems to not working. If you click on Notification, you need to relog. But nothing Change.
Admin interface dont work. After klicking on “Admin” it starts a loop with this error:

Warning: feof() expects parameter 1 to be resource, boolean given in \gate\admin.php on line 41

But the rest is Awesome <3 :smiley:

1 Like

Ups, forgot one file i guess. You can fix this yourself if you want. Open notifications.php and find MAIL_SCOPES in the first ten lines or so and replace it with unserialize(MAIL_SCOPES)

The admin interface might have two reasons, make sure the log folder is writable by the web server, if thats the case its probably because there have not been any errors yet (i know, will fix that) just make sure log/esi.log exists, if not create an empty file named like that and make sure its writable by the webserver.

1 Like

Fixed… And fixed!

Thank you Snitch :slight_smile:

1 Like

Quick update:

  • Calendar completely overhauled, thanks @Golden_Gnu for being my test subject with LOTS of calendar events, should be much snappier now.
  • Hopefully really php5 compatible now, thanks @Lord_Kaho for testing many versions.
  • Some bugfixes

To Do:

  • Contacts as a sort of address book
  • Parse notifications so get to some more meaningful display
  • The same thing we do every night, Pinky - try to take over the world!

o7, Snitch

2 Likes