Posting good questions to mailing lists is hard. But having been both the question asker and answerer, I've come across a few good tactics I felt worth sharing.
Show your needs
People ask in mailing lists questions like "what's the best way to convert a D3 visualization to PNG?"
But the poster in this case has an objective that gets hidden in the way she has worded her question. She asks how to achieve a goal without addressing the need. A better alternative would have been to state her need. ie., "This is what I am needing. What's the best way to achieve this need?" Here are just three of the possible needs that could be lurking behind her original question.
"I built a few visualizations in D3 and am trying to feature a few on my blog as thumbnails. I have ~10 visualizations. What's the best way to do this?"
"I built a mock-up of a visualization idea I had and need a way to share it with a designer that isn't as comfortable with D3. Can anyone recommend a solution?"
"I built an app that displays a dynamic visualization for each user. I'd like a way to allow users to share their visualizations on Facebook. Can anyone think of a way to make this possible with D3?"
Each need deserves a different response.
Responding to the first, I would have recommended the poster take a screenshot of their visualization and crop and scale them manually in Photoshop or Gimp.
Another important thing about addressing needs is that often times, we're not right about the "how". For example, in the second question converting the visualization to a PNG might not be the most appropriate way to achieve her need. Specifically, most designers I know would be more happy to receive the visualization as a SVG instead of a PNG so they can easily modify it as a vector.
In response to the third question, I would point the user to this Blo.ck on how to write the code to properly convert an SVG to a PNG but the code here is tedious and wouldn't address the needs expressed by the poster asking the first or second questions.
Mention what you've tried
After illustrating your need, talk about some of the things you've already tried to address your need. This shows anyone reading your question that you've invested time trying to solve the problem on your own and that a solution to your problem can't be easily found from a quick Google search.
Offload work for the reader
For most mailing lists, when people read your question they're not getting paid to provide a response. One down side to this arrangement is that they're also not required to provide a response. Because of this, you should try to go out of your way to isolate the problem you're facing and hide as much as possible of what is irrelevant to your question. This makes your issue easier to understand and safes anyone reading your post a lot of time. The more work readers has to do to understand your question, the less likely you are to get any response.
Normally this has to do with example code. If you're posting a piece of code, make sure it works. By "works" I mean that it doesn't have syntax errors or missing dependencies with other pieces of code from your project. It should also be well formatted and properly indented so it's easier for other people to read.