Jump to content

Notify Me! - Notifications and alerts (v1.0.0.2)


ImportBot

Recommended Posts

Originally Posted by ozplanet*:

 

So here ya go comment out where the email is being sent and add the call to the web address that will accept your parameters.

 

If you download the zip or copy this code make sure to change the domain.com line to one that works.

 

Code:

private void EmailWrite(string subject, string body)
        {
            try
            {
                //if (this.strSenderMail == null || this.strSenderMail == String.Empty)
                //{
                //    this.ConsoleWrite("No sender-mail is given!");
                //    return;
                //}

                //MailMessage email = new MailMessage();

                //email.From = new MailAddress(this.strSenderMail);

                //if (this.lstReceiverMail.Count > 0)
                //{
                //    foreach (string mailto in this.lstReceiverMail)
                //    {
                //        if (mailto.Contains("@") && mailto.Contains("."))
                //        {
                //            email.To.Add(new MailAddress(mailto));
                //        }
                //        else
                //        {
                //            this.ConsoleWrite("Error in receiver-mail: " + mailto);
                //        }
                //    }
                //}
                //else
                //{
                //    this.ConsoleWrite("No receiver-mail are given!");
                //    return;
                //}

                //email.Subject = subject;
                //email.Body = body;
                //email.IsBodyHtml = true;
                //email.BodyEncoding = UTF8Encoding.UTF8;

                //SmtpClient smtp = new SmtpClient(this.strSMTPServer, this.iSMTPPort);
                //if (this.blUseSSL == enumBoolYesNo.Yes)
                //{
                //    smtp.EnableSsl = true;
                //}
                //else if (this.blUseSSL == enumBoolYesNo.No)
                //{
                //    smtp.EnableSsl = false;
                //}
                //smtp.Timeout = 10000;
                //smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                //smtp.UseDefaultCredentials = false;
                //smtp.Credentials = new NetworkCredential(this.strSMTPUser, this.strSMTPPassword);
                //smtp.Send(email);

                //Make sure to change this line ! ! ! 
                string url = "http://domain.com/mail.php_subject=" + subject.Replace("#", "").Replace("&", "") + "&body=" + body.Replace("#", "").Replace("&", "");

                WebRequest request = HttpWebRequest.Create(url);

                WebResponse response = request.GetResponse();

                StreamReader reader = new StreamReader(response.GetResponseStream());

                string urlText = reader.ReadToEnd();

                this.ConsoleWrite("A notification email has been sent.");
            }
            catch (Exception e)
            {
                this.ConsoleWrite("Error while sending mails: " + e.ToString());
            }
        }
Then on the web side of things. I am using WordPress so it already handles email gracefully.

 

This would be inside http://domain.com/mail.php to catch the call from Procon above.

Code:

//Do all your validation and security before calling this function
function notify_me(){
	
	if($_GET['subject'] && $_GET['body']){

		//Put as many emails as you would like
		$to = array('[email protected]','[email protected]','[email protected]');
	
                   //Loop through the emails
		foreach ($to as $email){
		
			// To send HTML mail, the Content-type header must be set
			$headers  = 'MIME-Version: 1.0' . "\r\n";
			$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
			$headers .= 'From: Admin <[email protected]>' . "\r\n";

			// Mail it
			mail($email, $_GET['subject'], $_GET['body'], $headers);
		
		}		
	}	
}
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Durty*:

 

Any ideas why this plugin would not show up on my hosted parent layer? It seems some do, some don't, this one in particular does not. I have it setup locally with no issues... any ideas? Is this possibly something on the hosting side that's blocking it?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

Any ideas why this plugin would not show up on my hosted parent layer? It seems some do, some don't, this one in particular does not. I have it setup locally with no issues... any ideas? Is this possibly something on the hosting side that's blocking it?

Most likely you are not running the latest version of this plugin (fixed a few days) back, which makes it disappear with the newest version of Procon.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by b0wzy*:

 

Most likely you are not running the latest version of this plugin (fixed a few days) back, which makes it disappear with the newest version of Procon.

Looking forward to the email functionality in BF4... it would be pretty useful these days with the rubber banding and endless obliteration games for people to let the admin know. If there is a place to send a donation to for BF4 development let me know! :smile:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by runatme658*:

 

Hey is there a way of having the pop up notification let you know when a certain player enters the server?

This is to help get a GUID ban on players instead of just using their name which they can change.

* Restored post. It could be that the author is no longer active.
Link to comment
  • 2 weeks later...

Originally Posted by MorpheusX(AUT)*:

 

Hey is there a way of having the pop up notification let you know when a certain player enters the server?

This is to help get a GUID ban on players instead of just using their name which they can change.

Not with current functionality, no.

You might want to use a stats logger for this purpose though, since that is a bit out of the plugin's original use case.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

Plugin updated

The plugin has been adapted a bit to fully work with BF4.

I've also removed a bug sending the notification-emails twice.

 

Attention: you'll need to re-configure your plugin and delete the old NotifyMe.cs file from all plugin folders since the plugin structure has been changed!

 

Download: https://github.com/MorpheusXAUT/Notify-Me/tags

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

Code:

[21:25:41 90] Notify Me!: Error while sending mails: System.TypeLoadException: Could not load type 'MySql.Data.MySqlClient.MySqlClientPermission' from assembly 'MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'.
   at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
   at System.Security.CodeAccessPermission.Demand()
   at System.Configuration.TypeUtil.CallerHasMemberAccessOrAspNetPermission()
   at System.Configuration.TypeUtil.CreateInstanceRestricted(Type callingType, Type targetType)
   at System.Configuration.ConfigurationElement.CreateElement(Type type)
   at System.Configuration.ConfigurationElement.get_Item(ConfigurationProperty prop)
   at System.Diagnostics.SystemDiagnosticsSection.get_Sources()
   at System.Diagnostics.DiagnosticsConfiguration.get_Sources()
   at System.Diagnostics.TraceSource.Initialize()
   at System.Net.Logging.InitializeLogging()
   at System.Net.Logging.get_On()
   at System.Net.Mail.MailMessage..ctor()
   at PRoConEvents.CNotifyMe.EmailWrite(String subject, String body)
[21:25:41 90] Notify Me!: MIXACb requested an admin!
How? What? Why? :woot:

Why the hell does it throw an MySQL exception?

 

Could you try and restart your Procon layer?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by jking54*:

 

Seems to work well so far, haven't tried the email. Only wish the popup would work with rcon hosting, but will try the email soon, btw does it work with either ! or @, I know it does with @, thanks Morph.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

Seems to work well so far, haven't tried the email. Only wish the popup would work with rcon hosting, but will try the email soon, btw does it work with either ! or @, I know it does with @, thanks Morph.

Yes, it should work with both ! and @ as a prefix.

 

Unfortunately, there's currently no way to get the popup working :sad: Would like to have that too...

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by jking54*:

 

Yes, it should work with both ! and @ as a prefix.

 

Unfortunately, there's currently no way to get the popup working :sad: Would like to have that too...

Yeah, not being a programmer I was curious if it would be feasible to route the notification from the layer back to the client somehow, procon-wise.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

Yeah, not being a programmer I was curious if it would be feasible to route the notification from the layer back to the client somehow, procon-wise.

That's not possible with the current setup of the layer/client and plugin infrastructure.

I don't think it's an easy fix either, so I guess we're out of luck :sad:

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by jking54*:

 

That's not possible with the current setup of the layer/client and plugin infrastructure.

I don't think it's an easy fix either, so I guess we're out of luck :sad:

Ok thanks Morph, we can only hope :smile:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by jking54*:

 

Can the send and receiver of emails be the same server? I have normal POP3/SMTP service with GoDaddy and Gmail service (I know Gmail doesn't work with send,but receive_) on another account, just wondering how to set this up to get it to work.

 

EDIT: Email doesn't appear to work, don't get an error either, just plain doesn't send emails.

 

To note, my outgoing uses port 465 (SMTP) requires authentication, is there a special way to handle this?

 

[12:20:36 82] Notify Me!: Error while sending mails: System.Net.Mail.SmtpException: The operation has timed out.

at System.Net.Mail.SmtpClient.Send(MailMessage message)

at PRoConEvents.CNotifyMe.EmailWrite(String subject, String body)

 

whenever I use @calladmin test

 

I get "There is no admin currently in game" msg but if I type admins it tells me of course I am in game

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

I've seen the same behavior.

Have you enabled SSL?

 

From what I've tested and read online, the SmtpClient provided by the .NET framework doesn't support all types of SSL (see here: http://stackoverflow.com/a/8087206/2987301). For this reason, the SSL connections don't really seem to work very well :-/

 

Could you try switching to a non-SSL connection and re-send the emails?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by jking54*:

 

I've seen the same behavior.

Have you enabled SSL?

 

From what I've tested and read online, the SmtpClient provided by the .NET framework doesn't support all types of SSL (see here: http://stackoverflow.com/a/8087206/2987301). For this reason, the SSL connections don't really seem to work very well :-/

 

Could you try switching to a non-SSL connection and re-send the emails?

I set up a generic email thru NFO Servers to send, will try SSL and see if that works, will report back...
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by jking54*:

 

EDIT: Disregard, I FINALLY got it to work, w00t!!!!!

 

It gives a player table of names of all players in-game, and all stats cool for reference...

 

ClanTag Playername EA GUID Score Kills Deaths KDR Ping Rank

 

Morph yur awesome yo :cool:

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by tonnic*:

 

EDIT: Disregard, I FINALLY got it to work, w00t!!!!!

 

It gives a player table of names of all players in-game, and all stats cool for reference...

 

ClanTag Playername EA GUID Score Kills Deaths KDR Ping Rank

 

Morph yur awesome yo :cool:

How did you get it to work? I'm trying via gmail and it doesn't work.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Infected*:

 

Can you share?

Yes: My mail server host failed to make a note in the credentials setup that I need to have '@mysite.com' in the username. Which in turn tossed an error at me when the plugin tried to connect. :P
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by tonnic*:

 

Yes: My mail server host failed to make a note in the credentials setup that I need to have '@mysite.com' in the username. Which in turn tossed an error at me when the plugin tried to connect. :P

Dang...I need to find a SMTP server I can use
* Restored post. It could be that the author is no longer active.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.