9

I recently spent a lot time trying to find a way to send SMS messages with C#. I found some questions/answers on StackOverflow that were of some help, but none of them solved my problem completely.

After a tremendous ammount of effort, I managed to solve my problem.

I thought I should give back a little to the community of StackOverflow and help all the people who had this problem by posting my solution on all the questions that I read while I was trying to solve my issue.

If you look at this questions, they are very similar, however, none of them were closed for being duplicates. I thought I could just post the answer on all of them, since my answer was helpful for all of the questions.

At first, I answered this:

If your GSM phone or GSM modem can be accesed with a serial port (e.g. COM8) and AT commands, you can use a library that I made https://github.com/marcogrcr/NET-SMS-Sender.

To my surprise, my answers were deleted. When I read https://stackoverflow.com/help/deleted-answers searching for the reason that my answers were deleted, I thought that my answers were deleted for this particular reason:

barely more than a link to an external site

I also noticed this other reason:

exact duplicates of other answers

But I thought it meant for exact duplicates of other answers in the same question per se, not on different questions.

So I made a more ellaborate answer:

If your GSM phone or GSM modem can be accesed with a serial port (e.g. COM8) and supports AT commands, you can use the SerialPort class to communicate with it.

For example, to send a SMS message in TEXT MODE (not all GSM phones or GSM modems support TEXT MODE), you can do the following:

var telephoneNumber = 3052345678;
var message = "Hello World!";

using (var port = new SerialPort("COM8"))
{
    port.Open();
    Thread.Sleep(500);

    // Sets the mode to TEXT MODE.
    port.Write("AT+CMGF=1\r\n");
    Thread.Sleep(500);

    // Sets the telephone number.
    port.Write(string.Format("AT+CMGS=\"{0}\"\r\n", telephoneNumber));
    Thread.Sleep(500);

    // Sends the SMS message.
    port.Write(string.Format("{0}\x1A", message));
    Thread.Sleep(3000);
}

SMS messages have a limit of 160 characters. If you want to send a message of more than 160 characters, you need to send a special type of SMS messages called concatenated SMS messages.

If your GSM phone or GSM modem does not support TEXT MODE, you need to send the message in PDU MODE. This mode is more commonly supported by GSM phones and GSM modems than TEXT MODE, and you can do things that are not available in TEXT MODE like sending concatenated SMS messages.

The PDU format can be quite complicated to work with if you don't have any prior experience with SMS or low level instructions for bit manipulation.

Since sending messages in PDU MODE is not a trivial task, I made a simple library to help people with this. Please see https://github.com/marcogrcr/NET-SMS-Sender for more information.

Sadly, my answers were deleted once again. Now it became clear to me that the reason they were being deleted was because I was posting the same answer on different questions, no matter if they were not closed for being too similar or duplicates.

I noticed however that on the second time that my answers were deleted, all the questions except for one were tagged as [on hold], and based on this, it means that they are going to be closed.

So, my question is: How should I address this issue in the future if I happen to come across with this situation again?

I'm no expert on the rules of this community so please be nice :) I give my word that I was doing this with the best of my intentions.

5
  • Most of the links you provided were put on hold ~ 4 hours ago as off-topic.. Sep 28, 2013 at 3:16
  • 1
    I think it was as the result of the duplicate answer flag where the moderators went and marked the questions as on hold Sep 28, 2013 at 3:19
  • @ArunPJohny You're right - that makes sense. Sep 28, 2013 at 3:27
  • 1
    Donnow about answering, but this one here looks like a clear case of good questioning skills, kudos for that.
    – brasofilo
    Sep 28, 2013 at 5:27
  • Thank you for the constructive question. Servy's answer hits the nail on the head from my perspective.
    – Flexo
    Sep 28, 2013 at 6:53

1 Answer 1

18

If you have the inclination to write the same answer to a lot of questions, something is wrong. In almost all cases, either the questions are duplicates of each other (if not exact, then close enough to still be duplicates), or your answer isn't adequately answering each of the questions. Another possibility (which happens to be much of the case here) is that the questions are simply of very low quality; so low that we just don't want them here.

Of the questions that you linked they are just asking for a library, aren't provding any details as to what they've done or reserached, are too broad, etc. Pretty much none of those questions are questions that we really want here on this site.

The first thing is that you should stop trying to find a bunch of questions that your answer applies to. Expect to post it exactly once. Find the best question that you can on that topic, improve it as best you can, and then provide the answer. If you can't find any real quality questions to which that would be a good answer then ask your own. Keep in mind that when asking and self-answering a question the question needs to stand on its own as a good question. It should be a question others would consider of good quality even if there was no answer posted to it.

If there are other related questions of adequate quality that your answer would answer exactly then it probably means you should flag the questions as duplicates. If they aren't duplicates then it means your answer almost certainly should be tailored to the question at hand.

2
  • Thanks! That makes a lot of sense, I will take that into account for the future. Since my answers were deleted, is it safe to make my own question about this issue (taking into account good question quality) and answer it without fearing being deleted again or any other kind of penalties (banning, reputation, etc)?
    – Marco
    Sep 28, 2013 at 3:43
  • @Marco Yes, it is.
    – Servy
    Sep 29, 2013 at 14:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .